Vectorize find_first_not_of/find_last_not_of member functions (multiple characters overloads) by AlexGuteniev · Pull Request #5206 · microsoft/STL (original) (raw)

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

5.98 ns

5.58 ns

bm<AlgType::str_member_first_not, char>/6/81

36.7 ns

23.8 ns

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

12.5 ns

18.6 ns

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

12.9 ns

16.6 ns

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

16.2 ns

17.8 ns

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

25.8 ns

17.6 ns

bm<AlgType::str_member_first_not, char>/75/85

63.8 ns

45.8 ns

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

43.8 ns

19.5 ns

bm<AlgType::str_member_first_not, char>/200/46

82.3 ns

39.9 ns

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

95.8 ns

38.2 ns

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

131 ns

58.0 ns

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

262 ns

115 ns

bm<AlgType::str_member_first_not, char>/1280/46

338 ns

122 ns

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

380 ns

133 ns

bm<AlgType::str_member_first_not, char>/2203/54

563 ns

237 ns

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

740 ns

268 ns

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

5.65 ns

6.15 ns

bm<AlgType::str_member_first_not, wchar_t>/6/81

38.3 ns

49.3 ns

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

11.6 ns

14.5 ns

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

11.3 ns

14.6 ns

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

15.8 ns

15.3 ns

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

29.8 ns

20.7 ns

bm<AlgType::str_member_first_not, wchar_t>/75/85

69.6 ns

52.8 ns

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

52.7 ns

27.9 ns

bm<AlgType::str_member_first_not, wchar_t>/200/46

106 ns

50.4 ns

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

132 ns

58.4 ns

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

180 ns

65.7 ns

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

375 ns

139 ns

bm<AlgType::str_member_first_not, wchar_t>/1280/46

488 ns

155 ns

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

555 ns

186 ns

bm<AlgType::str_member_first_not, wchar_t>/2203/54

897 ns

266 ns

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

1120 ns

333 ns

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

15.6 ns

17.4 ns

bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>/6/81

22.6 ns

29.4 ns

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

23.1 ns

15.3 ns

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

34.4 ns

15.6 ns

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

51.7 ns

16.0 ns

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

112 ns

20.6 ns

bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>/75/85

177 ns

196 ns

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

203 ns

27.7 ns

bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>/200/46

480 ns

275 ns

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

445 ns

67.9 ns

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

963 ns

623 ns

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

2773 ns

443 ns

bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>/1280/46

3156 ns

1671 ns

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

3413 ns

867 ns

bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>/2203/54

5532 ns

3279 ns

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

8053 ns

566 ns

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

5.12 ns

5.42 ns

bm<AlgType::str_member_last_not, char>/6/81

32.4 ns

22.7 ns

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

10.8 ns

17.3 ns

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

11.1 ns

14.7 ns

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

14.9 ns

15.6 ns

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

27.6 ns

15.8 ns

bm<AlgType::str_member_last_not, char>/75/85

53.4 ns

40.5 ns

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

45.5 ns

17.9 ns

bm<AlgType::str_member_last_not, char>/200/46

86.0 ns

36.5 ns

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

103 ns

37.8 ns

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

138 ns

57.5 ns

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

276 ns

116 ns

bm<AlgType::str_member_last_not, char>/1280/46

363 ns

138 ns

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

415 ns

144 ns

bm<AlgType::str_member_last_not, char>/2203/54

601 ns

210 ns

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

826 ns

263 ns

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

5.82 ns

5.77 ns

bm<AlgType::str_member_last_not, wchar_t>/6/81

37.8 ns

43.8 ns

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

9.71 ns

14.2 ns

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

10.4 ns

14.2 ns

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

15.7 ns

15.1 ns

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

36.6 ns

19.0 ns

bm<AlgType::str_member_last_not, wchar_t>/75/85

78.3 ns

52.8 ns

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

55.8 ns

26.5 ns

bm<AlgType::str_member_last_not, wchar_t>/200/46

114 ns

46.8 ns

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

166 ns

42.5 ns

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

187 ns

62.5 ns

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

381 ns

127 ns

bm<AlgType::str_member_last_not, wchar_t>/1280/46

539 ns

150 ns

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

563 ns

170 ns

bm<AlgType::str_member_last_not, wchar_t>/2203/54

847 ns

265 ns

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

1242 ns

375 ns

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

13.2 ns

14.7 ns

bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>/6/81

25.4 ns

29.9 ns

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

21.4 ns

14.1 ns

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

32.0 ns

14.4 ns

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

49.6 ns

14.9 ns

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

110 ns

19.5 ns

bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>/75/85

186 ns

211 ns

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

203 ns

26.9 ns

bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>/200/46

489 ns

309 ns

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

474 ns

65.4 ns

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

1151 ns

707 ns

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

2455 ns

620 ns

bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>/1280/46

3207 ns

1924 ns

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

4029 ns

1346 ns

bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>/2203/54

5595 ns

3755 ns

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

7376 ns

557 ns