]> git.cworth.org Git - apitrace/commit
Use skiplist-based FastCallSet within trace::CallSet
authorCarl Worth <cworth@cworth.org>
Mon, 11 Mar 2013 20:22:05 +0000 (13:22 -0700)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 16 Jun 2013 08:33:35 +0000 (09:33 +0100)
commit5d02d76d0cb38020ec113cbde17b1ef9cbe43bd9
treef4e67193afc41d7014cfb682c88f0b8347a1d5b1
parent12b41a836a136c6fa7004c364c9cd2cbcfa9f90d
Use skiplist-based FastCallSet within trace::CallSet

The FastCallSet supports only ranges step of 1 and freq of
FREQUENCY_ALL, so store any such ranges there, and store all other
ranges in the existing, linear list of CallRange.

For manually entered call sets on the command line, the performance
hit of the linear lookup was not generally a problem. But when taking
the (potentially huge) output of "apitrace trim --print-callset" the
performance hit made things quite painful. This makes things usable
again.
common/trace_callset.cpp
common/trace_callset.hpp
common/trace_fast_callset.cpp
common/trace_fast_callset.hpp