Last week, I continued my exploration into Errbit slowness. I eliminated a few ideas and added a few more conjectures to the list of optimization targets. While testing some ideas, I began to suspect that my test rig was not working as designed. There was a flaw in the way I was using Typheous that was causing the test process to run slower than it should and even worse, report inaccurate statistics.

So I reworked the test rig to manage its own threads and take its own request time measurements. The test process now runs much faster and on v0.4.0 reports response times that are a little less than half of what I had logged previously.

Testing against my latest mongoid5 branch, where I’ve been accumulating performance optimization ideas reveals that performance has actually improved significantly. It’s unfortunate that because my test rig had been inaccurate as I was making changes, I can’t easily show which changes correspond to how much of this improvement.

My focus up until this point has been mainly in creating error reports, and these numbers reflect a pretty significant improvement. It’s nice to finally see some real improvement after all this research.