Tim Bunce <[EMAIL PROTECTED]> wrote:
> Michael Carman wrote:
>> 
>> I tried it, and it does help some. In my very unscientific test[1] it 
>> ran about 20% faster. The size of the db file (on disk) was about 75% 
>> smaller.
> 
> Thanks. 20% is certainly useful.

I ran some more tests, some of which might be more significant:

                   time(sec)   db size (kB)    peak RAM (MB)
no coverage           15          ---             ~ 10  
Data::Dumper+eval    246          245             ~ 23.4
Storable             190           60             ~ 19.7
no storage           184          ---             ~ 18

The 'no coverage' run is to provide a baseline.

For the 'no storage' test, I ran using Devel::Cover, but modified the 
read() and write() methods to be essentially no-ops. I did this to 
isolate the time overhead of coverage itself, as opposed to the time 
spent reading and writing the db.

Storable looks like it's performing pretty well, with only a small 
overhead. Eventually, I think that a transition to a real database 
(where you can read/write only the portions of interest) would be good.

-mjc

Reply via email to