Sat, 25 Nov 2017 16:05:09 -0500 stablesort: start implementing more advanced version of headstart sorting
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 16:05:09 -0500] rev 3262
stablesort: start implementing more advanced version of headstart sorting Now that we can validate the sort with a basic implementation, we can start implementing a version that will support caching and other goodies.
Sun, 10 Dec 2017 01:38:48 +0100 stablerange: make use of the limit argument in 'mergepoint'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:38:48 +0100] rev 3261
stablerange: make use of the limit argument in 'mergepoint' This will eventually avoid doing full iteration on ancestors of the head when retrieving the range content.
Sun, 10 Dec 2017 01:33:39 +0100 stablerange: introduce a smarte version of stablerange for 'mergepoint'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:33:39 +0100] rev 3260
stablerange: introduce a smarte version of stablerange for 'mergepoint' This implementation will using caching and smarter algorithm based on these cache. For now it inherit most of it code from the dummy version for convenience. The inheritance to the dummy version should be dropped eventually.
Sun, 10 Dec 2017 01:26:40 +0100 stablerange: introduce an intermediary abstract class for caching
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:26:40 +0100] rev 3259
stablerange: introduce an intermediary abstract class for caching The 'branchpoint' and 'mergepoint' based stablerange class will need similar cache, we introduce an abstract class to take care of that first.
Sun, 10 Dec 2017 01:06:16 +0100 stablerange: introduce a basic-mergepoint method
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:06:16 +0100] rev 3258
stablerange: introduce a basic-mergepoint method This method use the new 'mergepoint' based stable sorting. It is expected to be eventually better than branch point to stable range: more stable, easier to cache, etc. Having a basic implementation will allow use to validate more advanced implementation.
Sun, 26 Nov 2017 11:58:35 -0500 stablesort: add a new test to check for fully independant branches
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Nov 2017 11:58:35 -0500] rev 3257
stablesort: add a new test to check for fully independant branches Apparently, this was not covered.
Sat, 25 Nov 2017 17:37:37 -0500 stablesort: add a --limit argument
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 17:37:37 -0500] rev 3256
stablesort: add a --limit argument This will be useful when using stable sort within stable range.
Sat, 25 Nov 2017 15:14:50 -0500 stablesort: introduce a mergepoint based method focused on head
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 15:14:50 -0500] rev 3255
stablesort: introduce a mergepoint based method focused on head The things we needs for stable range is head centric. So we simplify the issue by focussing on head.
Sat, 25 Nov 2017 04:09:17 -0500 stablesort: introduce a "mergepoint" method
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 04:09:17 -0500] rev 3254
stablesort: introduce a "mergepoint" method The mergepoint method decide order from merge. This allow to directly reuse a the full sort of one of the parent, and should simplify caching.
Sun, 10 Dec 2017 00:20:06 +0100 stablerange: fallback to a more naive approach to find subrange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 00:20:06 +0100] rev 3253
stablerange: fallback to a more naive approach to find subrange As suspected, using "bheads" was bit good enough in some case and we have to fall back to the approach used in "basic". On the evolve repo (about 3K changeset) this approach is about 60% slower than the previous (wrong) code.
Sat, 09 Dec 2017 22:49:07 +0100 stablebranch: avoid overlap between subrange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:49:07 +0100] rev 3252
stablebranch: avoid overlap between subrange Subrange overlap make things more complicated and less efficient. We fix the computation done in the "cached" version of the stablerange cache. This bring things in line with the result produced by the basic version. Since we already bumped the format version since the last release, I don't things we need to do anything else.
Sat, 09 Dec 2017 22:37:10 +0100 stablerange: introduce an 'basicstablerange'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:37:10 +0100] rev 3251
stablerange: introduce an 'basicstablerange' This class hold all the basic of stable range but the part specific to the sorting. This allow to clearly express what is expected from each method and to generate tests output to be validated against the more complex implementation. While writing this, we spotted a bug in the current stable range implementation. Fix coming.
(0) -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 tip