I think it would be great to have a ruby interface to Judy. Someone
has done a SWIG interface to Judy, pointer here:
I’ve never used SWIG before, Lyle could probably whip it into shape
faster than I could read the SWIG docs
I sure hope somebody does it. I haven’t had the time to read it (318 pages).
But, I would be willing to help someone. (I am Ruby/Python ignorant).
I was also thinking… what if ruby internal hash and array used Judy?
I wonder how much faster it would be? I’ve CC:d the author of Judy on
this note, he may have some insight.
I’ve had some recent email exchanges with Tim Peters about the
applicability of using Judy (SL or L?) in Python for replacing internal
dictionaries. My take on Tim’s feedback is: he seems to think they
have a good handle on their performance with insert/lookups and memory
management inside Python. Right now I am buried with malloc() tests.
As soon as I finish, I will be interested in testing (and possibly
tuning) JudySL for suitability inside an interpreter
(Python/Perl/Java/Ruby/etc.). JudyL and Judy1 have been tuned. I
believe they are unbeatable. JudySL is implemented as a simple digital
tree that uses JudyL to do the work. I have never had a complaint
about JudySL performance. I suspect there is room for about 30%
improvement for both speed and memory for shorter strings. I need to
get my hands on a ‘typical’ data set in order to proceed.
I will shortly add two benchmarks (updated from the Judy source download
versions) to the web site. <www.sourcejudy.com/benchmarks>
SLcompare.c - measure speed and memory usage with the best JudySL
competitors I know of, using any data set you supply. I am
presently testing JudySL up to 1/2 billion strings. (yes, that’s a
lot of disk space and not possible to put on the web)
Judy1LTime.c - measures Judy1 & JudyL speed and memory usage with
gusto. I am presently testing them with populations in the billions.
I will publish the results soon. (This is actually about testing a new
malloc() design. I already know Judy scales well into the peta-range).
thanks, > -joe
Doug Baskins email@example.com