-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
While investigating WT-5042 I ran Zoom profiling on a workload. One thing I noticed was that the stack for the worker function was heavily weighed with wt_epoch. Out of a cumulative 360 seconds of time, wt_epoch was 102 seconds. I did a quick replacement of those two start/stop calls in worker to use wt_clock and the next profiling, the wt_clock function only consumed 1.3 seconds out of the 360 seconds, saving us two orders of magnitude.
All uses of wt_epoch in the codebase should be examined and any that use it in a start/stop/WT_TIMEDIFF manner should replace it with wt_clock and WT_CLOCKDIFF calls.
There are many such uses in wtperf alone, but worker is the low hanging fruit because that is called on every operation performed. But others like schema_abort and rwlock tests also use it.