First of all: Great project! 👍
However, I've a bit trouble to comprehend why FixedArraySort is the recommended implementation. According to the benchmarks in your README.md (and my own benchmarks I run with PHP 5.6), ArraySort always wins against FixedArraySort. The execution times are virtually identical (between -1% and +2,5% difference), whereas FixedArraySort has a significant higher memory footprint (up to +30%).
The Implementations section of the non-grouped storages generally doesn't seem to match the benchmarks: You say that \SplFixedArray is "much more memory friendly" compared to plain PHP arrays, but \SplFixedArray always has a higher memory footprint. The string implementation is described as storage with "no array overhead" and as "a bit faster and [..] almost equal memory footprint". This doesn't seem to be true either, it's actually both slower and more memory-intensive as the other implementations.
Do I miss something here?
First of all: Great project! 👍
However, I've a bit trouble to comprehend why
FixedArraySortis the recommended implementation. According to the benchmarks in yourREADME.md(and my own benchmarks I run with PHP 5.6),ArraySortalways wins againstFixedArraySort. The execution times are virtually identical (between -1% and +2,5% difference), whereasFixedArraySorthas a significant higher memory footprint (up to +30%).The Implementations section of the non-grouped storages generally doesn't seem to match the benchmarks: You say that
\SplFixedArrayis "much more memory friendly" compared to plain PHP arrays, but\SplFixedArrayalways has a higher memory footprint. The string implementation is described as storage with "no array overhead" and as "a bit faster and [..] almost equal memory footprint". This doesn't seem to be true either, it's actually both slower and more memory-intensive as the other implementations.Do I miss something here?