Judy

PHP Judy implements sparse dynamic arrays (aka Judy Arrays)


PHP Judy implements sparse dynamic arrays (aka Judy Arrays). This extension is based
on the Judy C library. A Judy array consumes memory only when it is populated,
yet can grow to take advantage of all available memory if desired. Judy's key benefits
are scalability, high performance, and memory efficiency.

License: PHP

Latest releases

Version Release Download
2.2.0 2025-09-02 Judy-2.2.0.tgz
2.1.0 2025-08-25 Judy-2.1.0.tgz
2.0.0 2025-08-25 Judy-2.0.0.tgz
1.0.2 2013-11-03 Judy-1.0.2.tgz
1.0.1 2013-10-21 Judy-1.0.1.tgz
Show all releases

Changelog

Version Message
2.2.0 - **BREAKING CHANGE**: Renamed Judy::next() to Judy::searchNext() to resolve Iterator interface conflicts
- **NEW FEATURE**: Implemented proper Iterator interface support (rewind, valid, current, key, next methods)
- **NEW FEATURE**: Added support for SPL iterators (LimitIterator, FilterIterator, etc.)
- **IMPROVEMENT**: Enhanced benchmark examples with accurate memory measurements
- **IMPROVEMENT**: Updated BENCHMARK.md with comprehensive design explanations and performance analysis
- **IMPROVEMENT**: Added comprehensive benchmark suite with statistical analysis
- **IMPROVEMENT**: Fixed iterator performance analysis and methodology
- **FIX**: All tests now pass (100% success rate)
- **FIX**: Improved memory measurement reliability across different environments
- **FIX**: Fixed critical iterator bugs (next, rewind, valid methods)
- **DOCUMENTATION**: Added O(log n) vs O(1) complexity explanations
- **DOCUMENTATION**: Enhanced benchmark methodology with environment details
2.1.0 - Performance improvements for string-keyed arrays through strict key typing (Breaking Change).
- Modernized zval handling for better performance and PHP 8+ compatibility.
- Fixed test suite to accomodate for strict key typing.
2.0.0 - Added compatibility for PHP 8.0 and newer.
- Dropped support for PHP versions older than 8.0 (Breaking Change).
- Added a comprehensive benchmark suite (`examples/run-benchmarks.php`) to test realistic workloads.
- Added a `BENCHMARK.md` file with detailed performance results and recommendations.
- Added a `Dockerfile` to provide a consistent development and testing environment.
- Updated `README.md` with modern installation instructions and a link to the benchmark results.
1.0.2 - Bug fix with count/size, see https://github.com/orieg/php-judy/issues/15
- Add missing test files in package.xml
1.0.1 - Fixes for Windows DDL creation
- Support for PHP 5.5
- Add support for Travis CI
- Update minimum PHP version to 5.3
Show complete changelog