Vectorize basic_string::find_last_of by AlexGuteniev 路 Pull Request #4934 路 microsoft/STL (original) (raw)

bm<AlgType::std_func, uint8_t>/2/3

5.59 ns

5.56 ns

1.01

bm<AlgType::std_func, uint8_t>/7/4

11.1 ns

11.1 ns

1.00

bm<AlgType::std_func, uint8_t>/9/3

11.0 ns

11.1 ns

0.99

bm<AlgType::std_func, uint8_t>/22/5

11.6 ns

11.7 ns

0.99

bm<AlgType::std_func, uint8_t>/58/2

13.0 ns

12.9 ns

1.01

bm<AlgType::std_func, uint8_t>/102/4

14.8 ns

13.2 ns

1.12

bm<AlgType::std_func, uint8_t>/325/1

8.87 ns

9.23 ns

0.96

bm<AlgType::std_func, uint8_t>/400/50

122 ns

119 ns

1.03

bm<AlgType::std_func, uint8_t>/1011/11

58.0 ns

59.0 ns

0.98

bm<AlgType::std_func, uint8_t>/1502/23

194 ns

197 ns

0.98

bm<AlgType::std_func, uint8_t>/3056/7

139 ns

141 ns

0.99

bm<AlgType::std_func, uint16_t>/2/3

6.15 ns

6.12 ns

1.00

bm<AlgType::std_func, uint16_t>/7/4

12.7 ns

12.5 ns

1.02

bm<AlgType::std_func, uint16_t>/9/3

11.8 ns

11.8 ns

1.00

bm<AlgType::std_func, uint16_t>/22/5

12.6 ns

12.3 ns

1.02

bm<AlgType::std_func, uint16_t>/58/2

15.3 ns

15.6 ns

0.98

bm<AlgType::std_func, uint16_t>/102/4

18.7 ns

18.8 ns

0.99

bm<AlgType::std_func, uint16_t>/325/1

15.3 ns

12.0 ns

1.28

bm<AlgType::std_func, uint16_t>/400/50

344 ns

385 ns

0.89

bm<AlgType::std_func, uint16_t>/1011/11

287 ns

258 ns

1.11

bm<AlgType::std_func, uint16_t>/1502/23

569 ns

577 ns

0.99

bm<AlgType::std_func, uint16_t>/3056/7

265 ns

264 ns

1.00

bm<AlgType::std_func, uint32_t>/2/3

5.64 ns

5.80 ns

0.97

bm<AlgType::std_func, uint32_t>/7/4

11.2 ns

11.3 ns

0.99

bm<AlgType::std_func, uint32_t>/9/3

9.98 ns

9.86 ns

1.01

bm<AlgType::std_func, uint32_t>/22/5

11.2 ns

11.8 ns

0.95

bm<AlgType::std_func, uint32_t>/58/2

9.66 ns

10.00 ns

0.97

bm<AlgType::std_func, uint32_t>/102/4

15.8 ns

15.2 ns

1.04

bm<AlgType::std_func, uint32_t>/325/1

23.5 ns

18.1 ns

1.30

bm<AlgType::std_func, uint32_t>/400/50

489 ns

493 ns

0.99

bm<AlgType::std_func, uint32_t>/1011/11

267 ns

264 ns

1.01

bm<AlgType::std_func, uint32_t>/1502/23

792 ns

811 ns

0.98

bm<AlgType::std_func, uint32_t>/3056/7

331 ns

335 ns

0.99

bm<AlgType::std_func, uint64_t>/2/3

6.18 ns

6.12 ns

1.01

bm<AlgType::std_func, uint64_t>/7/4

12.8 ns

12.6 ns

1.02

bm<AlgType::std_func, uint64_t>/9/3

9.45 ns

9.27 ns

1.02

bm<AlgType::std_func, uint64_t>/22/5

11.3 ns

11.2 ns

1.01

bm<AlgType::std_func, uint64_t>/58/2

14.5 ns

11.9 ns

1.22

bm<AlgType::std_func, uint64_t>/102/4

27.8 ns

27.8 ns

1.00

bm<AlgType::std_func, uint64_t>/325/1

44.4 ns

45.0 ns

0.99

bm<AlgType::std_func, uint64_t>/400/50

1059 ns

1064 ns

1.00

bm<AlgType::std_func, uint64_t>/1011/11

579 ns

577 ns

1.00

bm<AlgType::std_func, uint64_t>/1502/23

1808 ns

1811 ns

1.00

bm<AlgType::std_func, uint64_t>/3056/7

1044 ns

1044 ns

1.00

bm<AlgType::str_member_first, char>/2/3

8.16 ns

8.38 ns

0.97

bm<AlgType::str_member_first, char>/7/4

9.55 ns

9.66 ns

0.99

bm<AlgType::str_member_first, char>/9/3

10.9 ns

11.1 ns

0.98

bm<AlgType::str_member_first, char>/22/5

11.5 ns

11.7 ns

0.98

bm<AlgType::str_member_first, char>/58/2

12.8 ns

13.0 ns

0.98

bm<AlgType::str_member_first, char>/102/4

13.2 ns

14.7 ns

0.90

bm<AlgType::str_member_first, char>/325/1

23.7 ns

23.7 ns

1.00

bm<AlgType::str_member_first, char>/400/50

123 ns

112 ns

1.10

bm<AlgType::str_member_first, char>/1011/11

59.5 ns

58.3 ns

1.02

bm<AlgType::str_member_first, char>/1502/23

197 ns

194 ns

1.02

bm<AlgType::str_member_first, char>/3056/7

142 ns

141 ns

1.01

bm<AlgType::str_member_first, wchar_t>/2/3

10.5 ns

10.9 ns

0.96

bm<AlgType::str_member_first, wchar_t>/7/4

12.2 ns

12.7 ns

0.96

bm<AlgType::str_member_first, wchar_t>/9/3

13.2 ns

13.4 ns

0.99

bm<AlgType::str_member_first, wchar_t>/22/5

14.0 ns

13.9 ns

1.01

bm<AlgType::str_member_first, wchar_t>/58/2

17.2 ns

17.0 ns

1.01

bm<AlgType::str_member_first, wchar_t>/102/4

20.4 ns

20.4 ns

1.00

bm<AlgType::str_member_first, wchar_t>/325/1

39.7 ns

38.1 ns

1.04

bm<AlgType::str_member_first, wchar_t>/400/50

161 ns

161 ns

1.00

bm<AlgType::str_member_first, wchar_t>/1011/11

350 ns

261 ns

1.34

bm<AlgType::str_member_first, wchar_t>/1502/23

513 ns

514 ns

1.00

bm<AlgType::str_member_first, wchar_t>/3056/7

267 ns

267 ns

1.00

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/2/3

12.3 ns

12.6 ns

0.98

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/7/4

20.1 ns

20.8 ns

0.97

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/9/3

13.3 ns

13.3 ns

1.00

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/22/5

14.2 ns

14.0 ns

1.01

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/58/2

17.4 ns

17.2 ns

1.01

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/102/4

20.4 ns

20.4 ns

1.00

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/325/1

38.9 ns

38.4 ns

1.01

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/400/50

349 ns

386 ns

0.90

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/1011/11

300 ns

262 ns

1.15

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/1502/23

589 ns

581 ns

1.01

bm<AlgType::str_member_first, wchar_t, L'\x03B1'>/3056/7

266 ns

267 ns

1.00

bm<AlgType::str_member_first, char32_t>/2/3

9.04 ns

11.2 ns

0.81

bm<AlgType::str_member_first, char32_t>/7/4

11.0 ns

13.0 ns

0.85

bm<AlgType::str_member_first, char32_t>/9/3

10.1 ns

12.7 ns

0.80

bm<AlgType::str_member_first, char32_t>/22/5

18.0 ns

14.6 ns

1.23

bm<AlgType::str_member_first, char32_t>/58/2

9.49 ns

12.6 ns

0.75

bm<AlgType::str_member_first, char32_t>/102/4

16.0 ns

18.0 ns

0.89

bm<AlgType::str_member_first, char32_t>/325/1

19.4 ns

22.2 ns

0.87

bm<AlgType::str_member_first, char32_t>/400/50

194 ns

208 ns

0.93

bm<AlgType::str_member_first, char32_t>/1011/11

448 ns

270 ns

1.66

bm<AlgType::str_member_first, char32_t>/1502/23

662 ns

667 ns

0.99

bm<AlgType::str_member_first, char32_t>/3056/7

1323 ns

338 ns

3.91

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/2/3

9.66 ns

11.7 ns

0.83

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/7/4

16.5 ns

17.8 ns

0.93

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/9/3

10.5 ns

12.7 ns

0.83

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/22/5

14.2 ns

14.6 ns

0.97

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/58/2

9.88 ns

12.7 ns

0.78

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/102/4

16.4 ns

18.1 ns

0.91

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/325/1

19.9 ns

21.8 ns

0.91

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/400/50

493 ns

488 ns

1.01

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/1011/11

270 ns

270 ns

1.00

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/1502/23

808 ns

813 ns

0.99

bm<AlgType::str_member_first, char32_t, U'\x03B1'>/3056/7

341 ns

334 ns

1.02

bm<AlgType::str_member_last, char>/2/3

7.52 ns

7.96 ns

0.94

bm<AlgType::str_member_last, char>/7/4

8.81 ns

10.2 ns

0.86

bm<AlgType::str_member_last, char>/9/3

9.23 ns

10.4 ns

0.89

bm<AlgType::str_member_last, char>/22/5

13.9 ns

10.8 ns

1.29

bm<AlgType::str_member_last, char>/58/2

20.9 ns

12.8 ns

1.63

bm<AlgType::str_member_last, char>/102/4

30.9 ns

13.3 ns

2.32

bm<AlgType::str_member_last, char>/325/1

96.5 ns

24.3 ns

3.97

bm<AlgType::str_member_last, char>/400/50

113 ns

195 ns

0.58

bm<AlgType::str_member_last, char>/1011/11

236 ns

60.6 ns

3.89

bm<AlgType::str_member_last, char>/1502/23

347 ns

196 ns

1.77

bm<AlgType::str_member_last, char>/3056/7

678 ns

142 ns

4.77

bm<AlgType::str_member_last, wchar_t>/2/3

7.75 ns

8.16 ns

0.95

bm<AlgType::str_member_last, wchar_t>/7/4

9.08 ns

9.85 ns

0.92

bm<AlgType::str_member_last, wchar_t>/9/3

10.3 ns

12.0 ns

0.86

bm<AlgType::str_member_last, wchar_t>/22/5

15.7 ns

12.6 ns

1.25

bm<AlgType::str_member_last, wchar_t>/58/2

30.4 ns

14.9 ns

2.04

bm<AlgType::str_member_last, wchar_t>/102/4

49.5 ns

18.4 ns

2.69

bm<AlgType::str_member_last, wchar_t>/325/1

151 ns

46.6 ns

3.24

bm<AlgType::str_member_last, wchar_t>/400/50

195 ns

192 ns

1.02

bm<AlgType::str_member_last, wchar_t>/1011/11

446 ns

440 ns

1.01

bm<AlgType::str_member_last, wchar_t>/1502/23

659 ns

659 ns

1.00

bm<AlgType::str_member_last, wchar_t>/3056/7

1318 ns

266 ns

4.95

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/2/3

8.41 ns

9.19 ns

0.92

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/7/4

15.4 ns

16.3 ns

0.94

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/9/3

15.8 ns

11.8 ns

1.34

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/22/5

40.3 ns

12.6 ns

3.20

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/58/2

56.3 ns

14.9 ns

3.78

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/102/4

156 ns

18.4 ns

8.48

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/325/1

221 ns

38.8 ns

5.70

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/400/50

4523 ns

328 ns

13.79

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/1011/11

2956 ns

264 ns

11.20

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/1502/23

8184 ns

540 ns

15.16

bm<AlgType::str_member_last, wchar_t, L'\x03B1'>/3056/7

6328 ns

266 ns

23.79