Bonsoir, i don't want to make a personal discussion with you. This is wast time for the readers. Ok, using judy is very easy, you declare the judy array as:
void *judy = NULL; then you always pass the address of the array when calling the changing functions like JudyIns, JudyDel, JudyFreeArray and pass the judy-array directly when calling the reading functions: JudyGet, JudyFirst, JudyNext, JudyPrev. See the examples in my previous posts. Be aware that the JudyIns, JudyDel and JudyFreeArray can change the content of the judy-array pointer. You can always pass NULL as the last parameter. (Instead of JError), you have only to check the return value and ignore the JError structure. ----- Ursprüngliche Mail ---- Von: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> An: [EMAIL PROTECTED]; [email protected] CC: [EMAIL PROTECTED] Gesendet: Mittwoch, den 16. Januar 2008, 22:24:26 Uhr Betreff: Re: AW: New Judy version Hi all, 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're 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 "billions" of documents in a fraction of time (< 1sec). 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 "&judy-array" to insert and delete functions and judy-array to Get-functions. >Ex. >void *judy = NULL; >Word_t *pval; >char s[257]; >pval = JudySLIns(&judy, s, NULL); assert(pval); >*pval = *pval + 1; >.... >pval = JudySLGet(judy, s, NULL); >if(pval) { printf("%d", *pval ); } >.... >pval = JudySLDel(&judy, s, NULL); >JudySLFreeArray(&judy, NULL); > >The interface is very easy to use and no changes are necessary. You simply declare >void *judy-array = NULL and use the functions directly.basta! I can't imagine that to be simple. This is difficult and error prone (pointer, 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 coding. N.B: apologize for my english, It's my third language. cheers Younès Jetzt Mails schnell in einem Vorschaufenster überfliegen. Dies und viel mehr bietet das neue Yahoo! Mail - www.yahoo.de/mail ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Judy-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/judy-devel
