Wed, 22 Mar 2017 21:09:28 +0100 stablerange: remove the now unused individual range class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:09:28 +0100] rev 2197
stablerange: remove the now unused individual range class That class is now longer necessary, we dropped its usage for performance reason.
Wed, 22 Mar 2017 21:08:58 +0100 stablerange: directly use tuple to refer to a stable range
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:08:58 +0100] rev 2196
stablerange: directly use tuple to refer to a stable range Now that all advance logic lives in the unified class we no longer needs the individual class. Creating and operating on this cache introduce a significant overhead that we can not stop having. From now on, a range a is pair tuple '(headrev, index)'. Long live the tuple.
Wed, 22 Mar 2017 21:28:18 +0100 obshash: properly cache obshash value
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:28:18 +0100] rev 2195
obshash: properly cache obshash value The code was buggy and only cached non-nullid/non-inherited value. This was previous hidden because we were using a 'propertycache' to cache the value on the range object. This fixes it and restore a lot of performance.
Wed, 22 Mar 2017 20:59:42 +0100 stablerange: directly use 'self' when possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:59:42 +0100] rev 2194
stablerange: directly use 'self' when possible Code movement introduced multiple silly case were we where accessing 'self' though 'repo.stablerange' for no good reasons.
Wed, 22 Mar 2017 20:56:17 +0100 revsfromrange: set the cache for the multiple bottom ranges in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:56:17 +0100] rev 2193
revsfromrange: set the cache for the multiple bottom ranges in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:55:43 +0100 revsfromrange: set the cache for the single bottom range in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:55:43 +0100] rev 2192
revsfromrange: set the cache for the single bottom range in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:55:23 +0100 revsfromrange: set the cache for the top range in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:55:23 +0100] rev 2191
revsfromrange: set the cache for the top range in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:44:29 +0100 revsfromrange: remove reference to '_revs' in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:44:29 +0100] rev 2190
revsfromrange: remove reference to '_revs' in merge slicing Given '_revs' is a property from the cache, we use the official method of the object we are on instead. That method should be using the same cache than the property if available.
Wed, 22 Mar 2017 20:37:27 +0100 revsfromcache: update cache for the top slice if possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:37:27 +0100] rev 2189
revsfromcache: update cache for the top slice if possible Same logic, we update the cache if have the data.
Wed, 22 Mar 2017 20:37:03 +0100 revsfromrange: skip setting the cache for length-1 top entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:37:03 +0100] rev 2188
revsfromrange: skip setting the cache for length-1 top entry The content of the range is trivial to compute.
Wed, 22 Mar 2017 20:36:19 +0100 revsfromrange: update cache for parentrange directly in the code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:36:19 +0100] rev 2187
revsfromrange: update cache for parentrange directly in the code We update it where it matters if we detect that we have the data.
Wed, 22 Mar 2017 20:34:07 +0100 revsfromramge: hard code the single changeset range case
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:34:07 +0100] rev 2186
revsfromramge: hard code the single changeset range case That case is trivial and triggering and full stable sort for it seems a bit silly.
Wed, 22 Mar 2017 20:18:01 +0100 stablerange: introduce caching for the full revision in a set
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:18:01 +0100] rev 2185
stablerange: introduce caching for the full revision in a set Such cache proved handy in the "per-range" class so we carry it along to the unified class. cf documentation for details.
Wed, 22 Mar 2017 20:11:19 +0100 stablerange: add a cache for stablesort ordering
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:11:19 +0100] rev 2184
stablerange: add a cache for stablesort ordering This will be very handy for merge, cf inline documentation for details.
Wed, 22 Mar 2017 20:05:21 +0100 stablerange: move revs computation within the main class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:05:21 +0100] rev 2183
stablerange: move revs computation within the main class We still need to compute the revision withing a range when we slice a merge. This is the last large logic that remains in the individual class and we migrate is on the main class.
Wed, 22 Mar 2017 19:42:37 +0100 stablerange: minor method reorders on the main class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:42:37 +0100] rev 2182
stablerange: minor method reorders on the main class We put the public method first for clarify.
Wed, 22 Mar 2017 19:30:23 +0100 stablerange: drop "key" and "id" logic form the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:30:23 +0100] rev 2181
stablerange: drop "key" and "id" logic form the class We can restrict to the bare minimun for equality and hashing now.
Wed, 22 Mar 2017 19:28:14 +0100 stablerange: drop length from the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:28:14 +0100] rev 2180
stablerange: drop length from the class There is not remaining user.
Wed, 22 Mar 2017 19:26:40 +0100 stablerange: drop _depth
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:26:40 +0100] rev 2179
stablerange: drop _depth Nothing uses it anymore.
Wed, 22 Mar 2017 19:25:12 +0100 stablerange: drop __repr__
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:25:12 +0100] rev 2178
stablerange: drop __repr__ IT was used for debug and the class is on it way out.
Wed, 22 Mar 2017 19:23:32 +0100 stablerange: drop the subranges method on the small class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:23:32 +0100] rev 2177
stablerange: drop the subranges method on the small class Nobody use it anymore.
Wed, 22 Mar 2017 19:21:41 +0100 stablerange: use subranges from the main class in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:41 +0100] rev 2176
stablerange: use subranges from the main class in subrangesclosure This is the last method used on the class.
Wed, 22 Mar 2017 19:21:18 +0100 stablerange: use subranges from the main class in _obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:18 +0100] rev 2175
stablerange: use subranges from the main class in _obshashrange This is the last method used on the class.
Wed, 22 Mar 2017 19:20:30 +0100 stablerange: use subranges from the main class in findrangemissing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:20:30 +0100] rev 2174
stablerange: use subranges from the main class in findrangemissing This is the last method used on the class.
Wed, 22 Mar 2017 18:55:26 +0100 stablerange: make sure nobody use '.depth' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:55:26 +0100] rev 2173
stablerange: make sure nobody use '.depth' anymore
Wed, 22 Mar 2017 18:54:45 +0100 stablerange: use depthrevs in range slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:54:45 +0100] rev 2172
stablerange: use depthrevs in range slicing We stop using the property from the class to get us closer to tuple.
Wed, 22 Mar 2017 18:53:25 +0100 stablerange: use depthrevs in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:53:25 +0100] rev 2171
stablerange: use depthrevs in debugstablerange We stop using the property from the class to get us closer to tuple.
Wed, 22 Mar 2017 18:41:26 +0100 stablerange: use rangelength inside the class itself
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:41:26 +0100] rev 2170
stablerange: use rangelength inside the class itself We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:40:54 +0100 stablerange: use rangelength in '_slicesatrange'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:54 +0100] rev 2169
stablerange: use rangelength in '_slicesatrange' We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:40:19 +0100 stablerange: use rangelength in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:19 +0100] rev 2168
stablerange: use rangelength in '_slicepoint' We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:39:47 +0100 stablerange: use rangelength in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:39:47 +0100] rev 2167
stablerange: use rangelength in subrangesclosure We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:37:11 +0100 stablerange: use rangelength in _obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:37:11 +0100] rev 2166
stablerange: use rangelength in _obshashrange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:36:37 +0100 stablerange: use rangelength in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:36:37 +0100] rev 2165
stablerange: use rangelength in debugstablerange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:35:05 +0100 stablerange: use rangelength in findmissingrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:35:05 +0100] rev 2164
stablerange: use rangelength in findmissingrange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 17:59:21 +0100 stablerange: make sure nobody use '.index' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:59:21 +0100] rev 2163
stablerange: make sure nobody use '.index' anymore We rename the attribute for good measure.
Wed, 22 Mar 2017 17:57:04 +0100 stablerange: stop using '.index' inside the class itself
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:57:04 +0100] rev 2162
stablerange: stop using '.index' inside the class itself We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:55:57 +0100 stablerange: stop using '.index' in '_slicesrangeat'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:55:57 +0100] rev 2161
stablerange: stop using '.index' in '_slicesrangeat' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:53:39 +0100 stablerange: stop using '.index' in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:53:39 +0100] rev 2160
stablerange: stop using '.index' in '_slicepoint' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:53 +0100 stablerange: stop using '.index' in 'rangelength'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:53 +0100] rev 2159
stablerange: stop using '.index' in 'rangelength' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:29 +0100 stablerange: stop using '.index' in '_queryrange'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:29 +0100] rev 2158
stablerange: stop using '.index' in '_queryrange' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:08 +0100 stablerange: stop using '.index' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:08 +0100] rev 2157
stablerange: stop using '.index' in debugstablerange We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:48:39 +0100 stablerange: make sure nobody use the 'stablekey' property outside the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:48:39 +0100] rev 2156
stablerange: make sure nobody use the 'stablekey' property outside the class
Wed, 22 Mar 2017 17:47:09 +0100 stablerange: make sure nobody use '.head' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:47:09 +0100] rev 2155
stablerange: make sure nobody use '.head' anymore We rename the attribute for good measure.
Wed, 22 Mar 2017 17:45:39 +0100 stablerange: stop using '.head' inside the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:39 +0100] rev 2154
stablerange: stop using '.head' inside the class We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:45:21 +0100 stablerange: stop using '.head' in '_slicesrangeat'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:21 +0100] rev 2153
stablerange: stop using '.head' in '_slicesrangeat' We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:44:10 +0100 stablerange: stop using '.head' in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:44:10 +0100] rev 2152
stablerange: stop using '.head' in '_slicepoint' We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:43:36 +0100 stablerange: stop using '.head' in rangelength
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:36 +0100] rev 2151
stablerange: stop using '.head' in rangelength We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:43:18 +0100 stablerange: stop using '.head' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:18 +0100] rev 2150
stablerange: stop using '.head' in debugstablerange We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:38:28 +0100 stablerange: remove node unused 'node' property
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:38:28 +0100] rev 2149
stablerange: remove node unused 'node' property Close to killing that object.
Wed, 22 Mar 2017 17:35:08 +0100 stablerange: stop using '.node' in __repr__
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:35:08 +0100] rev 2148
stablerange: stop using '.node' in __repr__ This remove the last user to this method.
Wed, 22 Mar 2017 17:33:41 +0100 stablerange: change the key to use the revision number
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:33:41 +0100] rev 2147
stablerange: change the key to use the revision number Using node is more stable but for now do not have on disk caching and revision number should be find in memory. This makes the data used for the file cache closer to what it will be when we use tuple. We might reintroduce node in the future but let us keep it simple for now.
Wed, 22 Mar 2017 06:05:44 +0100 stablerange: stop using '.node' in _queryrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:44 +0100] rev 2146
stablerange: stop using '.node' in _queryrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:05:32 +0100 stablerange: stop using '.node' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:32 +0100] rev 2145
stablerange: stop using '.node' in debugstablerange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:04:30 +0100 stablerange: stop using '.node' in findmissingrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:04:30 +0100] rev 2144
stablerange: stop using '.node' in findmissingrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:03:57 +0100 stablerange: stop using '.node' in obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:03:57 +0100] rev 2143
stablerange: stop using '.node' in obshashrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:02:45 +0100 stablerange: stop using '.node' in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:02:45 +0100] rev 2142
stablerange: stop using '.node' in subrangesclosure We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 05:15:49 +0100 stablerange: have the class behave as a tuple
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:15:49 +0100] rev 2141
stablerange: have the class behave as a tuple If we want people to use a tuple, we should offer them a tuple. This should help update most of the code iteratively.
Wed, 22 Mar 2017 05:44:39 +0100 obshashrange: extract computation back into the discovery module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:44:39 +0100] rev 2140
obshashrange: extract computation back into the discovery module This obshash is related to discovery and it seems more appropriate to have to live there. This remove the last large piece of logic from the class. We'll now be able to slowly turn it into a tuple.
Wed, 22 Mar 2017 05:36:45 +0100 obshashrange: use a small utility function to access the obshash
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:36:45 +0100] rev 2139
obshashrange: use a small utility function to access the obshash If we want the object to disappear we needs the top level code to stop accessing its attribute.
Wed, 22 Mar 2017 05:32:25 +0100 debugstablerange: minor code reformat
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:32:25 +0100] rev 2138
debugstablerange: minor code reformat The content of that list will become more complex as we drop the object so we make sure to have one value per line for clarity.
(0) -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip