Reviews by Dave Williams

cpanratings
 

RSS

FLV-Info (0.24) ****

Useful for extracting meta-data from swf files.

Storable (2.30) *****

Great module, very fast.

Spreadsheet-XLSX (0.13-withoutworldwri) ****

Useful for reading xlsx files. Would be great if it could both read and write xlsx.

DBM-Deep (2.0004) ****

At first I was totally in love with this module. It was simple, clean, quick, and, dare I say, fun. Deep really does enable turn-key persistence for multi-level data structures, in pure-perl (which is cool).

I still like DBM::Deep a lot, and I might still use it, but the performance became way too slow for my application (Vogon::Poetry is faster). Now I am using BerkeleyDB (which is weird and poorly documented) and achieving artificial multi-leveling via Storable::freeze and Storable::thaw, and sadly, this hackish approach is way faster but much less fun :(

Besides, if I wanted to serialize all of my data structures before hashing, I would not have picked up DBM::Deep in the first place!

A small example:

I had a queue of object refs which I would shift if a certain condition was met on the 0-ith item. To evaluate the condition (a simple regex on one of the properties) and to shift the queue began taking over a minute when I gave up using Deep. At that rate, my program would have run for months instead of days!

Pros:

Super easy to use, portable, well documented, and fast when used in simple ways.

Cons:

Really slow with complex data structures. (and by complex, I mean Deeper than a simple hash). Also, Version 1.x seems a lot slower than 0.x. One more odd thing about Deep was all of the 'wide character in print' warnings. I had to escape all of my ord($_) > 255 characters into \x{NNN} format prior to storing...

Advice:

I would use this module to make databases whenever ease of use, consistency and fun outweigh the sluggishness. I would not use this module to create persistent fancy things like a hash of hashes of arrays of hashes... for example...

In the future:

If this module could get faster, it would take over the world...