Nikolas Klauser
c81bfc61da
[libc++] Optimize for_each for segmented iterators
```
---------------------------------------------------
Benchmark old new
---------------------------------------------------
bm_for_each/1 3.00 ns 2.98 ns
bm_for_each/2 4.53 ns 4.57 ns
bm_for_each/3 5.82 ns 5.82 ns
bm_for_each/4 6.94 ns 6.91 ns
bm_for_each/5 7.55 ns 7.75 ns
bm_for_each/6 7.06 ns 7.45 ns
bm_for_each/7 6.69 ns 7.14 ns
bm_for_each/8 6.86 ns 4.06 ns
bm_for_each/16 11.5 ns 5.73 ns
bm_for_each/64 43.7 ns 4.06 ns
bm_for_each/512 356 ns 7.98 ns
bm_for_each/4096 2787 ns 53.6 ns
bm_for_each/32768 20836 ns 438 ns
bm_for_each/262144 195362 ns 4945 ns
bm_for_each/1048576 685482 ns 19822 ns
```
Reviewed By: ldionne, Mordante, #libc
Spies: bgraur, sberg, arichardson, libcxx-commits
Differential Revision: https://reviews.llvm.org/D151274
2023-11-14 23:55:24 +01:00
..
2023-10-13 17:08:15 -07:00
2023-07-06 17:21:08 +00:00
2023-04-29 20:41:42 -07:00
2023-06-06 13:58:52 -07:00
2023-09-01 09:04:11 -07:00
2023-11-08 09:10:00 -10:00
2023-06-06 13:58:52 -07:00
2023-07-06 16:46:34 -04:00
2023-06-30 13:48:16 -07:00
2023-08-15 12:19:21 -07:00
2023-10-27 11:07:12 +02:00
2023-10-06 22:58:41 +02:00
2023-06-19 09:05:14 -04:00
2023-06-05 15:08:01 -07:00
2023-02-13 13:21:25 +01:00
2023-02-13 13:21:25 +01:00
2023-02-13 13:21:25 +01:00
2022-11-22 16:33:38 +08:00
2023-08-01 10:28:25 -07:00
2023-02-15 16:52:25 +01:00
2023-05-31 18:15:20 -07:00
2023-11-14 23:55:24 +01:00
2023-02-13 13:21:25 +01:00
2023-08-15 12:19:21 -07:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-06-30 09:17:24 -04:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-01-12 18:28:41 +01:00
2023-09-01 17:52:31 -07:00
2023-05-18 15:37:28 -07:00
2023-06-06 13:58:52 -07:00
2023-06-19 09:05:14 -04:00
2023-07-06 17:21:08 +00:00
2023-11-06 21:19:49 -10:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 17:21:08 +00:00
2023-02-15 16:52:25 +01:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-02-15 16:52:25 +01:00
2023-07-06 16:46:34 -04:00
2023-10-27 11:07:12 +02:00
2023-06-06 13:58:52 -07:00
2023-10-18 20:22:17 -07:00
2023-06-06 13:58:52 -07:00
2023-06-29 14:49:51 -07:00
2023-02-13 13:21:25 +01:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-10-06 23:01:30 +02:00
2023-10-24 14:02:37 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-04 18:12:39 -04:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-22 10:25:49 +02:00
2023-10-06 23:01:30 +02:00
2023-10-24 14:02:37 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-10-06 23:01:30 +02:00
2023-07-06 17:21:08 +00:00
2023-09-05 16:19:49 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-11-01 10:43:05 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-10-06 22:58:41 +02:00
2023-09-18 11:56:10 -07:00
2023-11-11 08:24:19 -10:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-07-02 16:56:32 +02:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-02-15 16:52:25 +01:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-02-15 16:52:25 +01:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-05-15 11:35:30 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-27 10:52:08 -07:00
2023-06-19 11:19:51 -04:00
2023-11-06 21:19:49 -10:00
2023-02-13 13:21:25 +01:00
2023-06-28 15:10:31 -07:00
2023-05-18 15:37:28 -07:00
2023-05-18 15:37:28 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-05-18 15:37:28 -07:00
2023-05-18 15:37:28 -07:00
2023-06-29 14:49:51 -07:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-09-01 17:52:31 -07:00
2023-06-30 09:17:24 -04:00
2023-06-30 09:17:24 -04:00
2023-11-08 09:10:00 -10:00
2023-02-15 16:52:25 +01:00
2022-11-22 16:33:38 +08:00
2022-11-22 16:33:38 +08:00
2023-07-06 17:21:08 +00:00
2023-10-04 11:23:36 +02:00
2023-07-06 17:21:08 +00:00