]> git.cworth.org Git - apitrace/commit
Use skiplist-based FastCallSet within trace::CallSet master
authorCarl Worth <cworth@cworth.org>
Mon, 11 Mar 2013 20:22:05 +0000 (13:22 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 12 Apr 2013 21:30:38 +0000 (14:30 -0700)
commit570d8ccab67e230f61f9c79e4eaa6a1159bb6428
treecb444e243a7a7ba34c52c35046906acb0b7c1466
parentec8f5a61f393e75e4c3e3e22f84c773af66810e9
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