Greetings wonderful world. January has been delightfully focused on a couple substantial feature branches that are now merged!
Descriptor Lazy Loading
When reading descriptors without validation (which is now the default) Stem is 25-70% faster!
This is because we now parse descriptors fields on-demand. Just need a server descriptor’s exit policy? That’s all we’ll bother reading. This is why the heavier the descriptor type the larger the benefit.
Unified Python 2/3 Codebase
Thanks to Foxboron Stem now has a unified python 2/3 codebase!
This means that Stem now runs directly with any version of python from 2.6 to 3.x. Prior to this Stem did a 2to3 export when you installed it to provide cross-version compatibility.
For users, the benefit of Foxboron’s overhaul is that python3 installation and test runs are now much, much quicker.
Beside these a few other noteworthy tasks were…
- Nick had a handful of suggestions for testing improvements, neatest of which was to include the command to re-run just individual tests when we have a failure.
- Our port_usage() function always returned None.
- Proc connection resolution could fail on busy systems.
- Fixed how the ‘strict’ argument works with exit policies.