From: "Mauricio Fernández" Date: 2002-08-24T08:40:45+09:00 Subject: Re: Ruby and Judy On Sat, Aug 24, 2002 at 07:50:22AM +0900, Joseph McDonald wrote: > > Judy looks cool: http://www.sourcejudy.com/ docs at: > http://www.sourcejudy.com/application/ > > I think it would be great to have a ruby interface to Judy. Someone > has done a SWIG interface to Judy, pointer here: > http://www.nclug.org/pipermail/nclug/2002-August/004079.html > > I've never used SWIG before, Lyle could probably whip it into shape > faster than I could read the SWIG docs :-) > Quoting from the site: ****** Judy arrays are both speed- and memory-efficient, with no tuning or configuration required, across a wide range of index set types (sequential, periodic, clustered, random). Judy's speed and memory usage are typically better than other data storage models such as skiplists, binary trees, b-trees, or even hashing, and improves with very large data sets. ****** It looks impressive. Faster than hashing (wow)! However it seems Judy only maps indexes or strings to 32 or 64-bit wide words. Thus we'd have to add another layer to handle arbitrarily sized structs via pointers. I hope this wouldn't kill Judy's speed. If Judy were faster than most hashes as it claims (which I'm rather inclined to believe after taking a look at its site), it might be faster than the st_* hashing in Ruby! Now changing st.* would bring Judy's speed to method and value lookup, hashes, etc. Why make a SWIG interface? If we change the st_* functions the modification is transparent to the rest of the code... Is something bound to happen between Judy and Ruby? }:-> -- _ _ | |__ __ _| |_ ___ _ __ ___ __ _ _ __ | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ | |_) | (_| | |_\__ \ | | | | | (_| | | | | |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_| Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com Actually, typing random strings in the Finder does the equivalent of filename completion. -- Discussion on file completion vs. the Mac Finder