I'm getting close to committing my work to the 1.9.x branch. I'm happy to report that it appears that these changes have significant performance improvements for the library:
For my 4500 track library, here is the time taken to do the work for a bunch of sorts and searches executed one after the other with half a second or so in between using 1.9.0:
These numbers are with the CPU set to the "performance" profile and the same optimizations given to GCC. Basically everything was constant except the code change. I'm not bothering with statistical significance -- this is pretty clearly a win ;). I won't attempt to formally quantify it, but it looks like an order of magnitude improvement on sort / search speed.
I'm getting close to committing my work to the 1.9.x branch. I'm happy to report that it appears that these changes have significant performance improvements for the library:
For my 4500 track library, here is the time taken to do the work for a bunch of sorts and searches executed one after the other with half a second or so in between using 1.9.0:
http:// pastebin. com/4dhEq9bQ
And here is using 1.9.0 + my changes:
http:// pastebin. com/MqAjwM49
These numbers are with the CPU set to the "performance" profile and the same optimizations given to GCC. Basically everything was constant except the code change. I'm not bothering with statistical significance -- this is pretty clearly a win ;). I won't attempt to formally quantify it, but it looks like an order of magnitude improvement on sort / search speed.
Now we need TheresaJayne to test this out...