Soory for the delay. =
I'll try to be more precise when I'm talking about interfaces.
>I don't know what is the eternity problem with judy-interface.
Eternity you said? No problem at all. Just a matter of good design as we'r=
now in 2008 ;-)
> I'm using
>Judy-arrays since years without problem (100.000.000 urls). =
Excellent. Nice to hear this kind of usage. =
Let me share with you something. I'm working on a web archiving field. =
100M URLs in considered as a sample for us (too small for what we're =
delivering). We deployed a distributed Web server on the top of 129 =
machines for fast archives access during the last 3 years. All indexes =
loaded on RAM.
And the server use what ? =
Judy of course ;-)
We're able to access =22billions=22 of documents in a fraction of time (< =
Judy performance isn't the problem at all. We all love it.
This is what I'm trying to say. Don't misunderstand me please.
> I think it is not a good idea to use the macro interface as recommended =
in the docs (it's not faster).
Completly agree with you on this point.
> I use the Judy-functions directly
>without problems. Pass =22&judy-array=22 to insert and delete functions a=
judy-array to Get-functions.
>void *judy =3D NULL;
>pval =3D JudySLIns(&judy, s, NULL); assert(pval);
>*pval =3D *pval + 1;
>pval =3D JudySLGet(judy, s, NULL);
>if(pval) =7B printf(=22%d=22, *pval ); =7D
>pval =3D JudySLDel(&judy, s, NULL);
>The interface is very easy to use and no changes are necessary. You =
simply declare =
>void *judy-array =3D NULL and use the functions directly.basta=21
I can't imagine that to be simple. This is difficult and error prone (poin=
reference here and there, NULL). =
Think about new comers to Judy. =
Think about you the first time you used Judy.
>The only drawbacks i found in judy:
>- you cannot store more than sizeof(*pval) as value in the array.
>You must use the pval indirectly (storing the pointer).
>- The JudyNext and JudyPrev can be improved in speed, by using a =
current cursor-structure as parameter.
I'd like to add another item to the list. INTERFACES.
Let start thinking about a clean sets of interfaces and after that, start =
N.B: apologize for my english, It's my third language.