ss: make node cache static
The state system is being used in many places now. A kernel trace
can have over 10 state systems running simultaneously. Therefore,
the caches have been taking more and more space. A summary reading
of heap dumps showed that for a kernel trace now, 512 mb is needed
for these caches. This will not scale.
This patch makes ONE cache for all of trace compass. There is a tiny
heuristic, each location is offsetted by the object's hashcode. This
is to avoid too much cache thrashing du to temporal co-locality.
The seek times in trace compass (going from one place to another)
are accelerated by a factor of 3 and are noticeable on an i7 with
16gb of ram and an ssd.
Moreover, this patch improves scalability, by making trace compass
not run out of memory after opening 5 kernel traces simultaneously.
Change-Id: I9c6509b0e32c04025fc66c0fdda3d31e971584b4
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/70600
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
This page took 0.025542 seconds and 5 git commands to generate.