John et al, hoping Doug Baskins will reply to you as well, but in the
meantime as a co-developer of libJudy, here's my $0.02 (and not worth
much more I admit).

> Judy is one of the most useful libraries out there and I use it all
> the time.

VERY nice to hear that!  We busted our butts for a couple of years,
ultimately a team of four people, trying to make it world-class.  But we
discovered how hard it is to "sell a library," especially without
academic credentials or writeups.  HP ended up canceling the project,
laying off the team, and open-sourcing the code in 2002.

> Something that always bothered me about it is the somewhat unusual
> calling conventions, the use of macros and silent casting of 'void *'s
> meaning it is very easy to accidentally use the API incorrectly and
> it's conventions differ from pretty much every other library out there
> making combining code problematic.

Yeah, yeah, we know, we know, sorry.  I'm personally responsible for not
envisioning the use of autoconf, etc, for greater portability, which is
ironic since libJudy actually has minimal (very few) OS/library
dependencies.

> I went ahead and used c99's features (inline functions, immediate
> struct values, defined uintptr_t and bool types) to make a typesafe
> and more conformant api.

OK, that's fun to watch.  My only concern is our experience that it was
way too easy to naively do something (like thread-safeness) that ruined
the library's performance.  You can't have too much run-time overhead
going in and out or you can cut it in half, or even much worse.
Syntactic sugar that doesn't overwhelm the algorithm -- great.  Innocent
layers of type-conversions or other foo, ugh.

> I figured I post it if anyone else found it handy.

Thanks for sharing it back in the spirit of open source.  Let's see what
others say, people who are more actively using libJudy.  Me, I did use
it successfully for a few projects later (contracting for HP and Avago),
but retired a year ago.

Cheers,
Alan Silverstein

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Judy-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/judy-devel

Reply via email to