clustershell
clustershell copied to clipboard
Multi-dimensional nodeset performance regression in v1.8
Multi dimensional nodeset is slower with CS v1.8 compared to CS 1.7.3. Between 25 and 30% slower depending on the operation.
TESTNAME v1.7.3 v1.8
NodeSet2DContains 0.29597 0.35862 21%
NodeSet2DIter 0.08717 0.11292 30%
NodeSet2DParse 0.22292 0.32376 45%
NodeSet2DRemove 0.29858 0.35797 20%
NodeSet2DStr 0.09125 0.11323 24%
NodeSet2DUnion 0.10307 0.13719 33%
NodeSet2DcPickle 0.04829 0.04754 -2%
I bisect'd this to this commit 95b3c435c9fef1f2678a23a59aea86f8459fde85
RangeSet: remove _wrap_set_op() for Python 3 support (#239)
This patch uses a technique already used in RangeSetND to subclass the
built-in set in RangeSet. The thing is to avoid calling any set methods
that return new sets, but use the mutable methods instead.
Tested with Python 2.6.6, 2.7.5 and 3.4.5.
Change-Id: I53a4f044c7ffc6ac4c6f1b54eaa57ffc901b0898
Don't know what to do with that for now...