John et al,

> I expect a lot of effort went into making Judy "polymorphic" with
> respect to 32/64 bit choice.

Yes, that's my recollection from over 10 years ago.

> The build system is a bit of a mess (only works smoothly on Unix and
> auto-adapts for the host platform in a way that makes
> cross-compilation hard).

Agreed, by the time I realized that keying #ifdefs by OS or other type,
rather than by "resource/attribute", was less portable, it was too late
to fix it.  I take exception to the "mess" comment, the make system is
very clean and tidy and well-commented :-), merely complex and not
sufficiently portable (in hindsight), which is a shame because libJudy
is actually remarkably OS-agnostic.  It only cares about malloc()/free()
and word sizes, maybe endianness (I forget).

Nowadays I educate people that if you can build for N known
architectures or platforms, you are not portable to N+1 without work.
Much smarter to build according to specific OS resources/features, or
better yet, defer "binding" from compile/link to run-time if you can do
so elegantly and without significant performance loss.

> The docs unfortunately emphasise use of macros, which is archaic (most
> developers would use C++ these days, and inline functions with
> references would be better).

Agreed, inline functions came along in HPUX too late for us, so I ended
up using macros.  They really are about the same functionality, but when
complex, people aren't as comfortable operating with them.  Then again,
"inline" being merely a suggestion that the compiler can ignore, with
macros we KNEW exactly what we were getting, choosing to pay code space
for absolutely fast performance.

Although Doug'll probably pipe up saying in modern compilers/computers,
function call overhead time is negligible, etc.

Cheers,
Alan Silverstein

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Judy-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/judy-devel

Reply via email to