2016-06-28 04:05:22 +00:00
|
|
|
.. _performance:
|
|
|
|
|
|
|
|
Performance
|
|
|
|
-----------
|
|
|
|
|
|
|
|
bidict strives to be as performant as possible
|
|
|
|
while being faithful to its purpose.
|
|
|
|
The need for speed
|
|
|
|
is balanced with the responsibility
|
|
|
|
to protect users from shooting themselves in the foot.
|
|
|
|
|
|
|
|
In general,
|
|
|
|
accomplishing some task using bidict
|
|
|
|
should have about the same performance
|
|
|
|
as keeping two inverse dicts in sync manually.
|
|
|
|
The test suite includes benchmarks for common workloads
|
|
|
|
to catch any performance regressions.
|
|
|
|
|
|
|
|
If you spot a case where bidict's performance could be improved,
|
|
|
|
please don't hesitate to
|
squashed changes for 0.13.0
- support Python 3.6, refactor CI/test setup, increase test coverage
- refactor BidirectionalMapping, BidictBase, OrderedBidictBase,
FrozenBidictBase, and subclasses
- move frozenorderedbidict into _frozen and looseorderedbidict into _loose
- register bidict as a virtual subclass of MutableMapping rather than
inheriting from it directly. This makes it clearer that it does not use any
of the concrete generic methods that MutableMapping provides.
- improve performance and flexibility of frozenbidict and
frozenorderedbidict hashing
- docs, including new type-hierarchy.png diagram
- rm unused imap, ifilter, izip_longest from compat, add PYPY
- update to latest versions of dependencies
- restore benchmarking on travis
2017-01-09 15:37:31 +00:00
|
|
|
:ref:`file an issue or submit a pull request <contributors-guide>`.
|