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.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:09:21 +0100] rev 2137
stablerange: move the subrangesclosure inside the module
This seems more suitable and open the way to simple update of how we build
things without too much impact outside the module. The debug command is still in
the 'obsdiscovery' module because it also deal to obshash and I'm not sure of
were this should live yet.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 05:33:52 +0100] rev 2136
stablerange: compute subranges from parent when possible
Unless we are a merge, we can infer the standard subranges of a range by reusing
the subranger of its parent. We update the implementation to do so.
We still needs the "old way" for merge. We move that code in a dedicated
function for the sake of simplicity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 04:27:42 +0100] rev 2135
stablerange: add an official warmup function
The function is responsible for making sure we have the necessary data for a
sets of heads. For now this only warm the depth cache. More will follow soon.
Such explicite warmup will be usefull for on disck caching as an early point of
writing will be easier.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:47:31 +0100] rev 2134
stablerange: remove now unnecessary setter
The class is handling all computations and cache access by itself now. So we can
drop this method.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:45:28 +0100] rev 2133
stablerange: directly perform slicing in the getting method
Now that all necessary functions are available, we simply apply the standard
slicing on cache miss and proceed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:43:33 +0100] rev 2132
stablerange: move standard slice point definition in main class
More migration of code away from the doomed individual class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:39:00 +0100] rev 2131
stablerange: move the slicing method on the central class
We migrate code away for the individual range class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:07:01 +0100] rev 2130
stablerange: move the range class in the new module
Our ultimate goal is to remove this class for performance reason. however for
now, it contains most of the code we care about so we migrate it as a block
first.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:06:53 +0100] rev 2129
stablesort: move into the stablerange module
The stable range rely on the stable sort so it make senses to move it there.
Will need direct access to it in the future.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:49:40 +0100] rev 2128
subranges: migrate handling of single element range
This is the simplest case by far, so we start with that one. We still use the
rich object as an argument, but we'll do our best to not relying on that. This
is important for performance reason.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:47:28 +0100] rev 2127
stablerange: move the subrange cache into our new class
This is the first step toward having more logic in that class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 00:44:31 +0100] rev 2126
depth: extract code dedicated to depth of a merge in its own function
The merge case is more complicated than the regular one, we extract is for the sake of
clarity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 18 Mar 2017 22:48:26 +0100] rev 2125
stablerange: move 'depth' inside a new 'stablerange' module
The stablerange used for discovery requires significant amount of code. There is
algorithme, cache, cache persistence, etc. So we create a dedicated module for
it.
The function is directly moved into a rich class handling cache (for now in
memory) because we know we will need it.