Gang, I'm glad to see Doug still working on the Judy library, and
responding to emails here.  But, he wrote:

> I have to agree with you about the readability of Judy.  Alan did his
> best to obscure the code -- perhaps unintentionally.

For the record:  I took a lot of highly redundant code, thousands of
lines, and over time, with Doug's (grudging) approval and continued
interaction, cleaned it up and ensured it was well formatted and
documented.  The conscientious use of macros was to replace large
sections of code, typically eight repetitions with dozens of lines in
each instance and only minor differences, that were also mind-numbing to
comprehend in their own way.  We agreed that for performance the code
had to be "maximally unrolled", the question was how to do that while
also making it elegant (and portable, and reliable).

As I've written before, if we had but known (and had them available on
HPUX), we should have used in-line functions.  The macros themselves are
not attractive due to the backslashes and other constraints, but should
not be so difficult to understand if you just think of them as inline
functions, and are not so difficult to debug through if you (as we did)
use the makefile to expand them for debuggable code.  I'm glad Doug has
now determined that function call overhead is so low there's no reason
not to modularize code into functions (inlined or not).

Doug saying that I "did my best to obscure the code" is at best a gross
distortion.  Without my involvement, HP would never have funded the Judy
project in the first place.  Doug and I worked long and hard together
for more than two years, along with several others who joined the
project.  It was a productive collaboration of great diversity.  For
example, where Doug had a ruthless focus on performance, I worked hard
on concepts, terminology, documentation, infrastructure, build, test,
and presentation issues so that together we could articulate a quality
product.  We wrestled with innumerable data structure and algorithm
conundrums to create Judy IV as we learned and re-learned the best way
to solve a myriad of problems.

Cheers,
Alan Silverstein

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Judy-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/judy-devel

Reply via email to