MihuBot / runtime-utils

0 stars 0 forks source link

[Benchmark X64] [MihaZupan] Add Avx512 support to IndexOfAnyAsciiSearcher #460

Open MihuBot opened 2 weeks ago

MihuBot commented 2 weeks ago

Job completed in 1 hour 5 minutes.

Using arguments: benchmark RustLang_Sherlock https://github.com/MihaZupan/performance/tree/compiled-regex-only -Intel -medium -NoPRLink

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock ``` BenchmarkDotNet v0.13.13-nightly.20240311.145, Ubuntu 22.04.4 LTS (Jammy Jellyfish) Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 8 logical and 4 physical cores MediumRun : .NET 9.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI Job=MediumRun OutlierMode=DontRemove IterationCount=15 LaunchCount=2 MemoryRandomization=True WarmupCount=10 ``` | Method | Toolchain | Pattern | Mean | Error | Ratio | Allocated | Alloc Ratio | |------- |------------------------ |------------------------------------- |-----------------:|---------------:|------:|----------:|------------:| | **Count** | **Main** | **.*** | **691,131.27 ns** | **842.077 ns** | **1.00** | **2 B** | **1.00** | | Count | PR | .* | 701,291.96 ns | 4,208.201 ns | 1.01 | 2 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **(?i)Holmes** | **71,847.44 ns** | **471.748 ns** | **1.00** | **-** | **NA** | | Count | PR | (?i)Holmes | 72,181.78 ns | 346.591 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **(?i)Sher[a-z]+\|Hol[a-z]+** | **102,412.23 ns** | **2,482.554 ns** | **1.00** | **-** | **NA** | | Count | PR | (?i)Sher[a-z]+\|Hol[a-z]+ | 100,226.97 ns | 4,693.052 ns | 0.98 | - | NA | | | | | | | | | | | **Count** | **Main** | **(?i)Sherlock** | **63,157.23 ns** | **286.797 ns** | **1.00** | **-** | **NA** | | Count | PR | (?i)Sherlock | 63,592.22 ns | 294.601 ns | 1.01 | 3 B | NA | | | | | | | | | | | **Count** | **Main** | **(?i)Sherlock Holmes** | **63,163.87 ns** | **353.487 ns** | **1.00** | **-** | **NA** | | Count | PR | (?i)Sherlock Holmes | 63,130.32 ns | 312.279 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **(?i)Sherlock\|Holmes\|Watson** | **96,989.85 ns** | **3,823.367 ns** | **1.00** | **-** | **NA** | | Count | PR | (?i)Sherlock\|Holmes\|Watson | 96,919.46 ns | 4,402.650 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **(?i)Sherlock\|(...)er\|John\|Baker [49]** | **292,458.32 ns** | **4,255.586 ns** | **1.00** | **2 B** | **1.00** | | Count | PR | (?i)Sherlock\|(...)er\|John\|Baker [49] | 291,038.70 ns | 5,906.277 ns | 1.00 | 2 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **(?i)the** | **380,816.71 ns** | **448.532 ns** | **1.00** | **1 B** | **1.00** | | Count | PR | (?i)the | 378,387.61 ns | 597.080 ns | 0.99 | 1 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **(?m)^Sherlock(...)rlock Holmes$ [37]** | **80,760.72 ns** | **4,306.860 ns** | **1.01** | **-** | **NA** | | Count | PR | (?m)^Sherlock(...)rlock Holmes$ [37] | 82,582.68 ns | 3,929.177 ns | 1.03 | - | NA | | | | | | | | | | | **Count** | **Main** | **(?s).*** | **51.49 ns** | **0.230 ns** | **1.00** | **-** | **NA** | | Count | PR | (?s).* | 51.44 ns | 0.201 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **[^\\n]*** | **696,503.75 ns** | **1,189.220 ns** | **1.00** | **2 B** | **1.00** | | Count | PR | [^\\n]* | 701,777.91 ns | 4,947.894 ns | 1.01 | 2 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **[a-q][^u-z]{13}x** | **34,252.94 ns** | **271.978 ns** | **1.00** | **-** | **NA** | | Count | PR | [a-q][^u-z]{13}x | 32,601.06 ns | 1,062.765 ns | 0.95 | - | NA | | | | | | | | | | | **Count** | **Main** | **[a-zA-Z]+ing** | **4,743,957.65 ns** | **35,002.412 ns** | **1.00** | **21 B** | **1.00** | | Count | PR | [a-zA-Z]+ing | 4,892,478.29 ns | 15,606.673 ns | 1.03 | 21 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **\\b\\w+n\\b** | **9,984,392.53 ns** | **16,833.207 ns** | **1.00** | **44 B** | **1.00** | | Count | PR | \\b\\w+n\\b | 10,828,533.01 ns | 36,736.622 ns | 1.08 | 39 B | 0.89 | | | | | | | | | | | **Count** | **Main** | **\\p{L}** | **10,603,931.90 ns** | **48,819.499 ns** | **1.00** | **35 B** | **1.00** | | Count | PR | \\p{L} | 11,179,680.36 ns | 9,486.172 ns | 1.05 | 31 B | 0.89 | | | | | | | | | | | **Count** | **Main** | **\\p{Ll}** | **10,195,145.76 ns** | **27,272.582 ns** | **1.00** | **35 B** | **1.00** | | Count | PR | \\p{Ll} | 11,436,304.68 ns | 77,659.485 ns | 1.12 | 35 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **\\p{Lu}** | **512,487.85 ns** | **3,951.166 ns** | **1.00** | **2 B** | **1.00** | | Count | PR | \\p{Lu} | 465,932.29 ns | 13,751.745 ns | 0.91 | 1 B | 0.50 | | | | | | | | | | | **Count** | **Main** | **\\s[a-zA-Z]{0,12}ing\\s** | **5,401,364.31 ns** | **12,575.532 ns** | **1.00** | **24 B** | **1.00** | | Count | PR | \\s[a-zA-Z]{0,12}ing\\s | 5,785,507.55 ns | 101,020.912 ns | 1.07 | 24 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **\\w+** | **5,177,572.11 ns** | **28,630.119 ns** | **1.00** | **18 B** | **1.00** | | Count | PR | \\w+ | 5,505,569.07 ns | 66,941.247 ns | 1.06 | 18 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **\\w+\\s+Holmes** | **4,021,934.73 ns** | **23,376.720 ns** | **1.00** | **22 B** | **1.00** | | Count | PR | \\w+\\s+Holmes | 4,287,127.11 ns | 34,628.196 ns | 1.07 | 22 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **\\w+\\s+Holmes\\s+\\w+** | **4,157,736.06 ns** | **3,369.514 ns** | **1.00** | **23 B** | **1.00** | | Count | PR | \\w+\\s+Holmes\\s+\\w+ | 4,448,197.47 ns | 8,704.825 ns | 1.07 | 23 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **aei** | **60,226.44 ns** | **177.769 ns** | **1.00** | **-** | **NA** | | Count | PR | aei | 59,984.97 ns | 231.105 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **aqj** | **60,359.02 ns** | **219.068 ns** | **1.00** | **-** | **NA** | | Count | PR | aqj | 60,216.79 ns | 250.061 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **Holmes** | **70,247.90 ns** | **381.235 ns** | **1.00** | **-** | **NA** | | Count | PR | Holmes | 70,191.66 ns | 312.375 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **Holmes.{0,25}(...).{0,25}Holmes [39]** | **59,812.45 ns** | **223.860 ns** | **1.00** | **-** | **NA** | | Count | PR | Holmes.{0,25}(...).{0,25}Holmes [39] | 61,210.71 ns | 1,547.310 ns | 1.02 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sher[a-z]+\|Hol[a-z]+** | **66,397.69 ns** | **761.073 ns** | **1.00** | **-** | **NA** | | Count | PR | Sher[a-z]+\|Hol[a-z]+ | 64,849.71 ns | 1,154.795 ns | 0.98 | 3 B | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock** | **85,985.04 ns** | **1,966.243 ns** | **1.00** | **-** | **NA** | | Count | PR | Sherlock | 83,371.97 ns | 3,793.039 ns | 0.97 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock Holmes** | **82,774.02 ns** | **3,862.238 ns** | **1.01** | **-** | **NA** | | Count | PR | Sherlock Holmes | 85,172.83 ns | 2,128.470 ns | 1.03 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock\\s+Holmes** | **83,442.70 ns** | **3,644.738 ns** | **1.00** | **-** | **NA** | | Count | PR | Sherlock\\s+Holmes | 81,539.97 ns | 4,064.719 ns | 0.98 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock\|Holmes** | **57,513.25 ns** | **1,431.014 ns** | **1.00** | **-** | **NA** | | Count | PR | Sherlock\|Holmes | 58,628.39 ns | 909.981 ns | 1.02 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock\|Holmes\|Watson** | **81,797.43 ns** | **3,871.627 ns** | **1.00** | **-** | **NA** | | Count | PR | Sherlock\|Holmes\|Watson | 77,711.13 ns | 263.733 ns | 0.95 | - | NA | | | | | | | | | | | **Count** | **Main** | **Sherlock\|Holm(...)er\|John\|Baker [45]** | **204,100.20 ns** | **4,644.087 ns** | **1.00** | **1 B** | **1.00** | | Count | PR | Sherlock\|Holm(...)er\|John\|Baker [45] | 209,457.96 ns | 1,109.672 ns | 1.03 | 1 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **Sherlock\|Street** | **34,583.11 ns** | **1,498.786 ns** | **1.00** | **-** | **NA** | | Count | PR | Sherlock\|Street | 37,804.48 ns | 905.387 ns | 1.10 | - | NA | | | | | | | | | | | **Count** | **Main** | **the** | **308,111.60 ns** | **2,660.420 ns** | **1.00** | **1 B** | **1.00** | | Count | PR | the | 304,342.71 ns | 867.519 ns | 0.99 | 1 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **The** | **74,898.95 ns** | **553.273 ns** | **1.00** | **-** | **NA** | | Count | PR | The | 74,592.77 ns | 544.687 ns | 1.00 | - | NA | | | | | | | | | | | **Count** | **Main** | **the\\s+\\w+** | **448,325.25 ns** | **1,314.530 ns** | **1.00** | **1 B** | **1.00** | | Count | PR | the\\s+\\w+ | 457,653.52 ns | 8,459.813 ns | 1.02 | 1 B | 1.00 | | | | | | | | | | | **Count** | **Main** | **zqj** | **59,408.54 ns** | **583.905 ns** | **1.00** | **-** | **NA** | | Count | PR | zqj | 59,892.80 ns | 549.900 ns | 1.01 | - | NA |

Artifacts:

MihuBot commented 2 weeks ago

@MihaZupan