The
technological innovations that eventually became the Judy code were
designed, implemented, and tested through more than a decade of research
and development at Hewlett-Packard. The time line below shows the
evolution of the Judy technology in HP internal products and code
releases to the HP programming community.
- 1981
Some of the basic concepts of the Judy technology evolved
from the RTE-6 Virtual Memory project (firmware/software implementation
of large data indexing).
- 1991
Developing technology used in an internal performance profiling
tool project (saving profiles in digital trees).
- 1994
The Judy array structure
discovered (digital trees used instead of arrays for better performance).
- 1997
Judy re-engineered to handle random keys efficiently.
Digital trees did not work well for random keys.
- 1997
HP funds Judy for internal development (developed efficient
methods for storing random keys in digital trees).
- 1999
Judy used in an internal HP application that required the
development of counting digital trees.
- 2000
HP staffs Judy as a project. In March 2000, a fully functional,
untuned concept version of Judy is available internally.
- 2001
Judy Version 4.0, also known as Judy IV, available
for HP-UX 11i during March 2001.
Judy was invented at HP's UNIX Software Enablement
Laboratory at Fort Collins Colorado. Hewlett-Packard has patents
pending on the Judy Technology.
Why is it called Judy?
We tried many other names and acronyms such as Sparse Array
Memory Manager (SAMM) or Associative Memory Lookup Routine (AMLR),
but none of them were adopted by the HP engineering community. The inventor,
Doug, realized his relationship with the algorithm paralleled the
relationship with his sister— Judy.