2i order of events

When running a load of mainly 2i queries, there is a huge cost in the
previous snapshot code.  The time taken to create a clone of the
Penciller (duplicating all the LoopState) varied between 1 and 200ms
depedning on the size of the LoopState.

For 2i queries, most of that LoopState was then being thrown away after
running the query against the levelzero_cache.  This was taking < 1ms on
average.  It would be better to avoid the o(100)ms of CPU  burning and
block for o(1)ms - so th eorder of events have been changed ot filter
first so only the small part of the LoopState actually required is
copied to the clone.
This commit is contained in:
martinsumner 2017-03-06 18:42:32 +00:00
parent eb6f668fcd
commit c92107e4b4
5 changed files with 161 additions and 113 deletions

View file

@ -132,7 +132,7 @@
{"P0036",
{info, "Garbage collection on manifest removes key for filename ~s"}},
{"P0037",
{info, "Merging of penciller L0 tree to size ~w complete"}},
{info, "Merging of penciller L0 tree from size ~w complete"}},
{"PC001",
{info, "Penciller's clerk ~w started with owner ~w"}},