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.
Wed, 29 Nov 2017 11:18:53 -0500 stablerange: extract the core API into a 'stablerangecore' class
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 11:18:53 -0500] rev 3250
stablerange: extract the core API into a 'stablerangecore' class To clarify what the code is doing without all the caching and algorithmic improvement, we extract a core class that highlight the basic API expected from the class.
(0) -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 tip