Dana Jansens
64139e5d65
Stop using Map for the cache in InstFingerprinter ( #6019 )
...
This takes the debug runtime of
`toolchain/check/testdata/interop/cpp/function/arithmetic_types_bridged.carbon`
from 4.7s down to about 4s (so 15% faster overall).
There's still lots of room to improve this test which seems to be
hitting lots of pathological behaviour, but InstNamer is 30% of the
runtime, with fingerprinting's `InstFingerprinter::GetOrCompute`
consuming 10% of cycles. We reduce its impact by using a vector of
vectors instead of a Map for the cache of fingerprints. After this
change InstNamer drops below 24% of the runtime.
Also move the instruction name when giving it to `AllocateName` since it
receives std::string by value, though this doesn't show up in the
profile for the test.
2025-09-08 16:15:10 +00:00
..
2025-08-01 01:24:31 +00:00
2025-05-19 14:57:13 +00:00
2025-07-02 18:07:55 +00:00
2025-09-08 16:15:10 +00:00
2025-09-02 20:50:49 +00:00
2025-09-02 20:50:49 +00:00
2025-06-11 21:34:01 +00:00
2025-06-20 16:51:58 +00:00
2025-07-02 20:58:02 +00:00
2025-04-25 16:06:10 +00:00
2025-08-15 18:36:54 +00:00
2025-04-29 23:28:46 +00:00
2025-07-24 19:39:43 +00:00
2025-07-02 19:21:01 +00:00
2025-08-08 08:11:49 +00:00
2025-08-01 01:24:31 +00:00
2025-07-17 20:44:15 +00:00
2025-06-12 20:37:27 +00:00
2025-09-08 08:34:55 +00:00
2025-04-25 16:06:10 +00:00
2025-04-25 16:06:10 +00:00
2025-04-25 16:06:10 +00:00
2025-09-02 20:50:49 +00:00
2025-05-29 19:48:16 +00:00
2025-04-17 15:37:57 +00:00
2025-07-02 20:58:02 +00:00
2025-08-08 08:11:49 +00:00
2025-08-08 08:11:49 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-09-04 15:02:37 +00:00
2025-09-04 15:02:37 +00:00
2025-07-02 18:07:55 +00:00
2025-07-24 19:39:43 +00:00
2025-08-06 20:39:01 +00:00
2025-07-10 21:21:19 +00:00
2025-08-14 01:14:40 +00:00
2025-09-03 12:01:20 +00:00
2025-04-25 16:06:10 +00:00
2025-07-02 18:07:55 +00:00
2025-07-02 18:07:55 +00:00
2025-07-25 21:09:24 +00:00
2025-07-02 18:07:55 +00:00
2025-09-03 21:00:12 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-05-19 23:26:32 +00:00
2025-09-02 20:50:49 +00:00
2025-07-24 19:39:43 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-05-01 20:24:15 +00:00
2025-09-04 15:02:37 +00:00
2025-07-02 18:07:55 +00:00
2025-04-15 22:40:29 +00:00
2025-04-17 15:37:57 +00:00
2025-07-17 18:29:49 +00:00
2025-09-03 12:01:20 +00:00
2025-07-02 18:07:55 +00:00
2025-05-21 00:09:10 +00:00
2025-05-21 00:09:10 +00:00
2025-08-20 18:30:11 +00:00
2025-07-02 20:58:02 +00:00
2025-09-02 20:50:49 +00:00
2025-04-29 21:55:11 +00:00
2025-07-09 16:25:23 +00:00
2025-04-25 16:06:10 +00:00
2025-05-27 16:50:13 +00:00
2025-09-02 20:50:49 +00:00
2025-07-30 20:24:38 +00:00
2025-09-03 21:00:12 +00:00
2025-09-03 21:00:12 +00:00
2025-04-25 16:06:10 +00:00
2025-09-04 19:19:59 +00:00
2025-07-02 18:07:55 +00:00
2025-07-17 20:44:15 +00:00