- 09 Apr, 2015 21 commits
-
-
Jason Madden authored
While we're optimizing, use a set to combine two 'specialness' checks in getattribute into one. This reduces the ZODB test runtime by about another 4-5%
-
Jason Madden authored
In _p_accessed combine two exception blocks as suggested by @tseaver, plus actually use the oid value we just cached. This knocks another 2 million calls to __getattribute__ out.
-
Jason Madden authored
Optimizations. Primarily, this changes _p_accessed to avoid recursively calling back to __getattribute__. When running the ZODB test suite, this changes the number of times that __getattribute__ is called from over 44 MILLION to just 1.3 million (and changes the cumulative time from 38 seconds to 11 seconds). Secondarily, this potentially also makes a few things safer for Broken objects.
-
Jason Madden authored
Detect whether we need to do a gc after sweeping the cache. Document why we would need to or not. Add tests to make sure it works (previously only in the ZODB tests.)
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
More functional tests from ZODB: test persistent class invalidation, and changing the _p_oid and _p_jar when not in a jar's cache.
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
Detect the bitness of the current process in order to better match the C TimeStamp hashcode. Fixes zopefoundation/persistent#21
-
Jason Madden authored
Detect the bitness of the current process in order to better match the C TimeStamp hashcode. Fixes zopefoundation/persistent#21
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
- 08 Apr, 2015 19 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
-
Jason Madden authored
More on C and ZODB compatibility for Python PickleCache and Persistent. There are some interconnected lifetime issues that this solves for ZODB's cache tests, and what appear to be some genuine bugs in invalidation.
-
Jason Madden authored
Match the C implementation for the way in which _p_jar and _p_oid can be changed. ZODB depends on this.
-
Jason Madden authored
Support shrinking the Python PickleCache based on a target byte count, and clear out references to ejected objects when done. This makes the ZODB testConnection and testConnectionSavepoint tests pass but is not tested here.
-
Jason Madden authored
The Python version of PickleCache.minimize does what the C version does and ghosts the evicted objects.
-
Jason Madden authored
-
Jason Madden authored
The Python PickleCache is close enough to the C PickleCache that ZODB's testCache passes. Required some small updates and additions to our own test cases; the update_object_size_estimation is not tested here yet.
-
Jason Madden authored
In the case of a ZODB broken object, the Python persistent implementation needs to bypass the _setattr_ implementation when working with its own internal state variables. This much gets the ZODB broken tests to pass. Need to figure out how to test this locally.
-
Jason Madden authored
-
Jason Madden authored
-
-
Jason Madden authored
More on C and ZODB compatibility for Python PickleCache and Persistent. There are some interconnected lifetime issues that this solves for ZODB's cache tests, and what appear to be some genuine bugs in invalidation.
-
Tres Seaver authored
-
Tres Seaver authored
-
Jason Madden authored
Match the C implementation for the way in which _p_jar and _p_oid can be changed. ZODB depends on this.
-