bidict v0.17.0 Release Notes

Release Date: 2018-04-25 // about 6 years ago
  • Speedups and memory usage improvements ++++++++++++++++++++++++++++++++++++++

    • Pass :meth:~bidict.bidict.keys, :meth:~bidict.bidict.values, and :meth:~bidict.bidict.items calls (as well as their iter* and view* counterparts on Python 2) through to the backing _fwdm and _invm dicts so that they run as fast as possible (i.e. at C speed on CPython), rather than using the slower implementations inherited from :class:collections.abc.Mapping.

    • ๐Ÿ‘‰ Use weakrefs in the linked lists that back :class:~bidict.OrderedBidict\s to avoid creating strong reference cycles.

    Memory for an ordered bidict that you create can now be reclaimed in CPython as soon as you no longer hold any references to it, rather than having to wait until the next garbage collection. #71 <https://github.com/jab/bidict/pull/71>__

    Misc ++++

    • ๐Ÿ”– Add :attr:bidict.__version_info__ attribute to complement :attr:bidict.__version__.