djg
4731a6e5d5
std: hash_map: optimize isFree/isTombstone ( #10562 )
...
- Add an `Metadata.isFree` helper method.
- Implement `Metadata.isTombstone` and `Metadata.isFree` with `@bitCast` then comparing to a constant. I assume `@bitCast`-then-compare is faster than the old method because it only involves one comparison, and doesn't require bitmasking.
- Summary of benchmarked changes (`gotta-go-fast`, run locally, compared to master):
- 3/4 of the hash map benchmarks used ~10% fewer cycles
- The last one (project Euler) shows 4% fewer cycles.
2022-01-10 23:54:45 -05:00
..
2021-11-30 23:32:47 +00:00
2021-12-06 14:55:35 -06:00
2021-12-22 00:59:53 -05:00
2021-11-30 23:32:47 +00:00
2021-12-27 14:42:58 -08:00
2021-09-01 17:54:06 -07:00
2021-11-30 23:32:47 +00:00
2021-08-24 12:25:09 -07:00
2022-01-02 16:58:05 -08:00
2021-11-30 23:32:47 +00:00
2021-12-19 23:22:05 -08:00
2021-11-30 23:32:47 +00:00
2021-11-30 23:32:47 +00:00
2021-12-21 01:41:51 +01:00
2021-12-19 01:58:13 -05:00
2021-11-30 00:13:07 -07:00
2021-11-30 23:32:47 +00:00
2022-01-04 02:15:29 -05:00
2021-10-29 19:20:31 -04:00
2022-01-07 00:06:06 -05:00
2021-08-15 23:09:55 -07:00
2021-11-30 23:45:01 +00:00
2021-12-19 00:24:45 -05:00
2021-12-16 19:08:58 -08:00
2022-01-01 12:47:08 +00:00
2021-10-04 23:48:55 -07:00
2021-08-24 12:25:09 -07:00
2021-10-04 23:48:55 -07:00
2022-01-08 01:01:09 -05:00
2021-11-30 23:32:47 +00:00
2021-11-30 23:32:47 +00:00
2021-11-30 23:32:47 +00:00
2021-10-04 23:48:55 -07:00
2021-11-30 00:13:07 -07:00
2021-12-03 16:42:59 -08:00
2021-12-15 20:10:34 +01:00
2021-11-30 23:32:47 +00:00
2021-11-30 23:32:47 +00:00
2021-12-21 12:38:50 -08:00
2022-01-04 18:28:42 -07:00
2021-12-19 00:24:45 -05:00
2021-12-19 00:24:45 -05:00
2021-11-30 23:32:47 +00:00
2021-08-24 12:25:09 -07:00
2021-08-24 12:25:09 -07:00
2021-11-15 04:47:57 +01:00
2021-11-30 23:32:47 +00:00
2021-12-19 00:24:45 -05:00
2021-11-30 23:32:47 +00:00
2021-12-19 00:24:45 -05:00
2021-12-21 17:13:52 -08:00
2021-08-24 12:25:09 -07:00
2021-09-01 17:54:06 -07:00
2021-11-30 23:32:47 +00:00
2022-01-01 15:40:24 -05:00
2022-01-02 16:58:05 -08:00
2022-01-10 23:54:45 -05:00
2022-01-07 00:06:06 -05:00
2021-12-19 00:24:45 -05:00
2021-11-30 00:13:07 -07:00
2021-11-30 23:32:47 +00:00
2021-09-20 01:58:18 -04:00
2021-08-24 12:25:09 -07:00
2021-11-30 00:13:07 -07:00
2021-12-15 08:59:20 +01:00
2021-11-30 00:13:07 -07:00
2021-12-27 23:33:11 -05:00
2021-11-30 00:13:07 -07:00
2021-11-30 23:32:47 +00:00
2021-12-02 12:35:17 -08:00
2021-11-09 18:31:03 -07:00
2022-01-02 16:58:05 -08:00
2021-10-09 03:15:34 -04:00
2021-12-21 17:29:23 -08:00
2021-12-15 17:46:10 -08:00
2021-12-15 17:46:04 -08:00
2021-12-21 11:15:33 -08:00
2021-12-06 12:18:41 -08:00
2021-12-19 00:24:45 -05:00
2021-08-24 12:25:09 -07:00
2021-10-27 16:07:48 -04:00
2021-12-19 00:24:45 -05:00
2021-11-29 08:05:51 +01:00
2021-12-31 17:17:49 +00:00
2021-12-16 03:01:13 -07:00
2021-12-21 17:33:04 -08:00
2021-12-19 00:24:45 -05:00
2022-01-07 00:06:06 -05:00
2022-01-01 12:47:08 +00:00
2021-11-30 23:32:47 +00:00
2022-01-07 00:06:06 -05:00
2022-01-04 17:59:05 +01:00
2021-08-24 12:25:09 -07:00
2021-11-30 23:32:47 +00:00