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-02-20 22:42:47 +00:00
2025-09-08 15:39:08 +00:00
2025-04-15 22:40:29 +00:00
2025-04-11 21:47:43 +00:00
2025-08-27 01:02:39 +00:00
2025-09-04 19:19:59 +00:00
2024-09-05 23:39:58 +00:00
2025-01-27 23:48:44 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-08-15 18:36:54 +00:00
2025-07-11 22:29:10 +00:00
2025-09-08 16:15:10 +00:00
2025-09-08 16:15:10 +00:00
2025-07-10 21:21:19 +00:00
2025-07-10 16:32:39 +00:00
2025-09-04 19:19:59 +00:00
2025-08-28 23:00:53 +00:00
2025-08-27 01:02:39 +00:00
2025-08-27 01:02:39 +00:00
2025-09-06 08:36:10 +00:00
2025-08-06 10:27:33 +00:00
2025-04-23 15:20:18 +00:00
2025-05-07 22:20:39 +00:00
2025-05-07 22:20:39 +00:00
2025-06-23 23:10:33 +00:00
2025-06-03 18:07:23 +00:00
2025-06-10 22:09:31 +00:00
2025-06-10 22:09:31 +00:00
2025-08-12 22:08:07 +00:00
2025-07-21 20:02:27 +00:00
2025-06-03 01:14:54 +00:00
2025-06-12 20:37:27 +00:00
2025-08-14 01:14:40 +00:00
2025-05-29 19:48:16 +00:00
2025-09-02 20:50:49 +00:00
2025-04-14 14:28:15 +00:00
2025-08-13 16:01:31 +00:00
2025-08-12 16:27:07 +00:00
2025-03-04 21:01:59 +00:00
2025-08-21 21:41:53 +00:00
2025-06-10 22:09:31 +00:00
2025-05-01 20:24:15 +00:00
2025-05-01 20:24:15 +00:00
2025-07-29 16:31:28 +00:00
2025-05-23 16:58:46 +00:00
2025-03-18 23:49:24 +00:00
2024-07-03 17:49:47 +00:00
2025-04-17 21:58:37 +00:00
2025-04-28 19:06:24 +00:00
2025-09-02 23:15:26 +00:00
2024-12-02 18:51:44 +00:00
2025-06-03 18:07:23 +00:00
2025-08-04 19:39:22 +00:00
2025-04-23 19:03:53 +00:00
2025-04-28 19:06:24 +00:00
2025-05-09 16:35:28 +00:00
2024-07-12 22:38:06 +00:00
2025-08-21 21:41:53 +00:00
2025-04-23 19:03:53 +00:00
2025-02-14 19:44:36 +00:00
2025-07-25 18:34:07 +00:00
2025-08-05 23:03:32 +00:00
2025-06-02 19:16:31 +00:00
2025-05-01 20:24:15 +00:00
2025-09-02 23:15:26 +00:00
2025-08-20 00:18:50 +00:00
2025-06-25 23:45:14 +00:00
2024-07-12 22:38:06 +00:00
2025-04-23 15:20:18 +00:00
2025-06-10 20:54:58 +00:00
2024-07-12 22:38:06 +00:00
2025-04-28 19:06:24 +00:00
2024-12-18 00:19:12 +00:00
2025-08-28 23:00:53 +00:00
2024-07-12 22:38:06 +00:00
2025-09-02 23:15:26 +00:00
2024-07-12 22:38:06 +00:00
2025-04-23 19:03:53 +00:00
2025-04-10 20:53:42 +00:00
2025-08-12 16:27:07 +00:00
2025-06-10 22:09:31 +00:00
2025-08-01 18:04:20 +00:00
2025-05-10 17:36:28 +00:00
2025-07-30 20:24:38 +00:00
2025-05-22 18:58:47 +00:00
2025-07-25 18:34:07 +00:00
2025-07-25 18:34:07 +00:00
2025-08-12 00:10:43 +00:00
2025-08-04 19:39:22 +00:00
2025-09-08 15:39:08 +00:00
2025-09-03 12:01:20 +00:00
2025-09-03 22:36:27 +00:00
2025-07-25 21:09:24 +00:00
2025-07-25 21:09:24 +00:00
2025-07-25 21:09:24 +00:00
2025-03-21 23:09:37 +00:00
2025-04-29 18:00:07 +00:00
2025-06-03 17:55:16 +00:00
2025-07-10 18:27:28 +00:00
2025-04-28 19:06:24 +00:00
2025-04-14 14:28:15 +00:00
2025-05-06 16:56:06 +00:00
2025-07-09 22:42:27 +00:00
2025-08-29 01:11:24 +00:00
2025-08-29 01:11:24 +00:00
2025-08-08 18:36:39 +00:00
2025-05-01 20:24:15 +00:00
2025-05-19 22:50:16 +00:00
2025-04-14 14:28:15 +00:00
2025-04-28 19:06:24 +00:00
2024-10-17 22:47:40 +00:00
2025-03-18 00:31:17 +00:00
2025-01-22 23:15:00 +00:00
2025-07-29 08:25:15 +00:00
2025-04-28 19:06:24 +00:00
2025-06-10 20:54:58 +00:00
2025-06-10 20:54:58 +00:00
2025-06-10 22:09:31 +00:00
2025-06-10 22:09:31 +00:00
2025-02-07 22:35:18 +00:00
2025-09-02 23:15:26 +00:00
2025-09-08 15:39:08 +00:00
2025-02-26 18:44:36 +00:00
2025-02-25 02:07:43 +00:00
2025-09-04 19:19:59 +00:00
2025-01-23 02:21:48 +00:00
2025-08-04 19:39:22 +00:00
2025-08-04 19:39:22 +00:00
2025-04-28 19:06:24 +00:00
2025-05-01 22:17:55 +00:00
2025-05-01 22:17:55 +00:00
2025-04-14 14:28:15 +00:00
2025-07-10 16:32:39 +00:00
2025-05-01 22:17:55 +00:00
2025-03-01 08:00:17 +00:00
2025-05-07 22:20:39 +00:00
2025-05-07 22:20:39 +00:00
2025-07-30 14:34:24 +00:00
2025-07-30 14:34:24 +00:00
2025-06-11 21:34:01 +00:00
2025-06-11 21:34:01 +00:00
2025-09-02 20:50:49 +00:00
2025-04-14 14:28:15 +00:00
2025-07-30 20:24:38 +00:00
2025-07-30 20:24:38 +00:00
2025-09-03 21:00:12 +00:00
2025-08-20 23:27:03 +00:00