Commit c55ada9
Add branchless is_alnum borrowed from MSVC++'s std::regex' _Is_word; should be about 5x faster. (microsoft#823)
The _Is_word change resulted in the following results in microbenchmarks; the previous is_alnum looks like branching_ranges.
.\word_character_test.exe
08/01/18 16:33:03
Running .\word_character_test.exe
Run on (12 X 2904 MHz CPU s)
CPU Caches:
L1 Data 32K (x6)
L1 Instruction 32K (x6)
L2 Unified 262K (x6)
L3 Unified 12582K (x1)
--------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------
strchr_search 19426572900 ns 19421875000 ns 1
branching_ranges 7582129000 ns 7578125000 ns 1
branching_search 6592977800 ns 6593750000 ns 1
table_index 1091321300 ns 1078125000 ns 11 parent 35f721d commit c55ada9
1 file changed
+39
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
356 | 357 | | |
357 | 358 | | |
358 | 359 | | |
359 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
360 | 394 | | |
361 | | - | |
362 | | - | |
363 | | - | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
364 | 399 | | |
365 | 400 | | |
366 | 401 | | |
| |||
0 commit comments