Skip to content

Commit

Permalink
analyzer: presize m_cluster_map in store copy ctor
Browse files Browse the repository at this point in the history
Testing cc1 on pr93032-mztools-unsigned-char.c

Benchmark #1: (without patch)
  Time (mean ± σ):     338.8 ms ±  13.6 ms    [User: 323.2 ms, System: 14.2 ms]
  Range (min … max):   326.7 ms … 363.1 ms    10 runs

Benchmark gcc-mirror#2: (with patch)
  Time (mean ± σ):     332.3 ms ±  12.8 ms    [User: 316.6 ms, System: 14.3 ms]
  Range (min … max):   322.5 ms … 357.4 ms    10 runs

Summary
  ./cc1.new ran 1.02 ± 0.06 times faster than ./cc1.old

gcc/analyzer/ChangeLog:
	* store.cc (store::store): Presize m_cluster_map.

Signed-off-by: David Malcolm <[email protected]>
  • Loading branch information
davidmalcolm committed Mar 15, 2022
1 parent b5baf56 commit a58e342
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion gcc/analyzer/store.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2032,7 +2032,8 @@ store::store ()
/* store's copy ctor. */

store::store (const store &other)
: m_called_unknown_fn (other.m_called_unknown_fn)
: m_cluster_map (other.m_cluster_map.elements ()),
m_called_unknown_fn (other.m_called_unknown_fn)
{
for (cluster_map_t::iterator iter = other.m_cluster_map.begin ();
iter != other.m_cluster_map.end ();
Expand Down

0 comments on commit a58e342

Please sign in to comment.