Performance

- Corrected performance measurement.  The TDB2::gc requires data to
  be loaded first, but load time is measured separately.  This resulted
  in repeat counting.  Now the gc time subtracts any load time that is
  accumulated *during* the gc.  This is now a fair accounting of the time.
This commit is contained in:
Paul Beckingham 2012-02-20 09:26:52 -05:00
parent d386081c4c
commit 259f39f2d2
3 changed files with 14 additions and 0 deletions

View file

@ -1503,6 +1503,7 @@ void TDB2::revert ()
int TDB2::gc ()
{
context.timer_gc.start ();
unsigned long load_start = context.timer_load.total ();
// Allowed as a temporary override.
if (context.config.getBoolean ("gc"))
@ -1611,7 +1612,11 @@ int TDB2::gc ()
// TODO Remove dangling dependencies
}
// Stop and remove accumulated load time from the GC time, because they
// overlap.
context.timer_gc.stop ();
context.timer_gc.subtract (context.timer_load.total () - load_start);
return 0;
}