diff options
author | David Malcolm <dmalcolm@redhat.com> | 2022-03-15 17:55:14 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2022-03-15 17:55:14 -0400 |
commit | a58e342d8869c571476c76d0ed95488adbde26bd (patch) | |
tree | 633b6b9dee317232f2563b82f6404d8258dcd7db /gcc | |
parent | b5baf569f77e1f172061642d4d8593e1ea737add (diff) | |
download | gcc-a58e342d8869c571476c76d0ed95488adbde26bd.zip gcc-a58e342d8869c571476c76d0ed95488adbde26bd.tar.gz gcc-a58e342d8869c571476c76d0ed95488adbde26bd.tar.bz2 |
analyzer: presize m_cluster_map in store copy ctor
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 #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 <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/analyzer/store.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/analyzer/store.cc b/gcc/analyzer/store.cc index 58df7aa..ec11433 100644 --- a/gcc/analyzer/store.cc +++ b/gcc/analyzer/store.cc @@ -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 (); |