good chemistry is complicated,
and a little bit messy -LW
Re: need help with judy array searching (Judy Array References)by eyepopslikeamosquito (Archbishop)
|on Dec 16, 2020 at 00:17 UTC
I'm assuming that whoever wrote these Perl Judy scripts in the first place has now left your company, and without providing a comprehensive handover. Am I close?
You've asked two questions now on Judy arrays and neither has convinced me you have the technical chops required to take over this project. Maybe it's time to step back and look at the bigger picture. Do you really really need the performance boost that Judy arrays provide? Is this required performance boost clearly documented? Are benchmarks provided demonstrating why? Is there a strong business case? Or was it just a fun project to play with by a clever former employee?
If you don't really need the performance boost of Judy arrays, you might consider converting the code to simply use Perl hashes instead because that would make long term code maintenance easier for your company as employees come and go over time.
Having said that, the Judy array code looks like it was written by an expert (Doug Baskins) and appears to be very stable ... still, you may struggle to get quick support if you hit a bug.
A supersearch for my name and judy arrays will turn up a compact, single file version of the Judy array code that compiled clean and worked very well for that application. Still slower than hashes, but far more compact. Just hope you don't find any bugs, because the Judy code is horribly complex.
Having got that off my chest, I find high performance fun, and I've never used Judy arrays, so I've put together some basic references below that I might play with later when I get more time.
BrowserUk on Judy arrays:
Judy arrays on PM:
Judy arrays on CPAN:
Building the Judy C Library on Linux
Introduction to Judy C Library: Judy Arrays Web Page
Download the Judy library (Judy-1.0.5.tar.gz) from: sourceforge Judy
Example build of the Judy C Library on Ubuntu Linux:
Example compile and run of a C++ program on Linux that uses the Judy library (taken from my-rosetta-code-notes):