Created
January 16, 2024 19:11
-
-
Save ashvardanian/cec868c9d00288c40cff0644ea4b5450 to your computer and use it in GitHub Desktop.
StringZilla pre-v3 benchmarks on AWS Graviton 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
~/StringZilla$ ./build_release/stringzilla_bench_search leipzig1M.txt | |
StringZilla. Starting search benchmarks. | |
Parsed the file with 8388608 words of 5 mean length! | |
Benchmarking for whitespaces: | |
- std::string_view.find_first_of 0.1882 GB/s 356648820.2 ns 0 errors in 32 iterations | |
- sz_find_from_set_serial 0.2286 GB/s 293561982.7 ns 0 errors in 36 iterations | |
- sz_find_from_set_neon 0.2289 GB/s 293157591.5 ns 0 errors in 36 iterations | |
- strcspn 0.2956 GB/s 226998443.9 ns 0 errors in 48 iterations | |
- std::string_view.find_last_of 0.2117 GB/s 317041158.2 ns 0 errors in 32 iterations | |
- sz_find_last_from_set_serial 0.2333 GB/s 287684198.9 ns 0 errors in 36 iterations | |
- sz_find_last_from_set_neon 0.2328 GB/s 288287036.8 ns 0 errors in 36 iterations | |
Benchmarking for punctuation marks: | |
- std::string_view.find_first_of 0.2701 GB/s 248465327.3 ns 0 errors in 44 iterations | |
- sz_find_from_set_serial 0.4586 GB/s 146344545.9 ns 0 errors in 72 iterations | |
- sz_find_from_set_neon 0.4588 GB/s 146267168.8 ns 0 errors in 72 iterations | |
- strcspn 0.9153 GB/s 73317147.8 ns 0 errors in 140 iterations | |
- std::string_view.find_last_of 0.2700 GB/s 248545729.2 ns 0 errors in 44 iterations | |
- sz_find_last_from_set_serial 0.4836 GB/s 138775380.5 ns 0 errors in 76 iterations | |
- sz_find_last_from_set_neon 0.4838 GB/s 138719226.3 ns 0 errors in 76 iterations | |
Benchmarking for non-printable characters: | |
- std::string_view.find_first_of 5063684.4618 GB/s 13.3 ns 0 errors in 754547788 iterations | |
- sz_find_from_set_serial 1.5297 GB/s 43869292.8 ns 0 errors in 228 iterations | |
- sz_find_from_set_neon 1.5297 GB/s 43869461.8 ns 0 errors in 228 iterations | |
- strcspn 20.4920 GB/s 3274885.6 ns 0 errors in 3056 iterations | |
- std::string_view.find_last_of 5476819.7748 GB/s 12.3 ns 0 errors in 816109744 iterations | |
- sz_find_last_from_set_serial 1.5375 GB/s 43649069.1 ns 0 errors in 232 iterations | |
- sz_find_last_from_set_neon 1.5374 GB/s 43651281.0 ns 0 errors in 232 iterations | |
Benchmarking on real words: | |
- std::string_view.find 1.5632 GB/s 42931636.9 ns 0 errors in 236 iterations | |
- sz_find_serial 1.3839 GB/s 48491260.5 ns 0 errors in 208 iterations | |
- sz_find_neon 7.4272 GB/s 9035504.2 ns 0 errors in 1108 iterations | |
- strstr 1.9860 GB/s 33790445.9 ns 0 errors in 296 iterations | |
- memmem 2.2642 GB/s 29638921.6 ns 0 errors in 340 iterations | |
- std::search 1.6909 GB/s 39687851.0 ns 0 errors in 252 iterations | |
- std::search<BM> 0.5499 GB/s 122029113.3 ns 0 errors in 84 iterations | |
- std::search<BMH> 0.6296 GB/s 106585125.1 ns 0 errors in 96 iterations | |
- std::string_view.rfind 0.4143 GB/s 161968880.8 ns 0 errors in 64 iterations | |
- sz_find_last_serial 1.1473 GB/s 58492408.2 ns 0 errors in 172 iterations | |
- sz_find_last_neon 6.9767 GB/s 9618969.7 ns 0 errors in 1048 iterations | |
- std::search 0.9859 GB/s 68068402.5 ns 0 errors in 148 iterations | |
- std::search<BM> 0.4555 GB/s 147340680.6 ns 0 errors in 72 iterations | |
- std::search<BMH> 0.5656 GB/s 118651183.9 ns 0 errors in 88 iterations | |
Benchmarking on real words of length 1: | |
- std::string_view.find 0.9257 GB/s 72498275.0 ns 0 errors in 140 iterations | |
- sz_find_serial 0.7222 GB/s 92919689.8 ns 0 errors in 112 iterations | |
- sz_find_neon 1.0190 GB/s 65855332.9 ns 0 errors in 152 iterations | |
- strstr 0.9117 GB/s 73605771.5 ns 0 errors in 136 iterations | |
- memmem 0.9619 GB/s 69767005.3 ns 0 errors in 144 iterations | |
- std::search 1.1135 GB/s 60270611.6 ns 0 errors in 168 iterations | |
- std::search<BM> 0.1091 GB/s 615296612.6 ns 0 errors in 20 iterations | |
- std::search<BMH> 0.1160 GB/s 578520792.4 ns 0 errors in 20 iterations | |
- std::string_view.rfind 0.3571 GB/s 187916858.7 ns 0 errors in 56 iterations | |
- sz_find_last_serial 0.7622 GB/s 88042737.1 ns 0 errors in 116 iterations | |
- sz_find_last_neon 0.9934 GB/s 67554638.5 ns 0 errors in 152 iterations | |
- std::search 0.7904 GB/s 84903694.2 ns 0 errors in 120 iterations | |
- std::search<BM> 0.0980 GB/s 684895501.1 ns 0 errors in 16 iterations | |
- std::search<BMH> 0.1064 GB/s 630627450.9 ns 0 errors in 20 iterations | |
Benchmarking on real words of length 2: | |
- std::string_view.find 1.1235 GB/s 59731558.9 ns 0 errors in 168 iterations | |
- sz_find_serial 2.6523 GB/s 25301693.1 ns 0 errors in 396 iterations | |
- sz_find_neon 4.5544 GB/s 14735008.8 ns 0 errors in 680 iterations | |
- strstr 1.2921 GB/s 51937891.8 ns 0 errors in 196 iterations | |
- memmem 1.2378 GB/s 54216583.9 ns 0 errors in 188 iterations | |
- std::search 1.3689 GB/s 49025322.6 ns 0 errors in 204 iterations | |
- std::search<BM> 0.3050 GB/s 219996520.1 ns 0 errors in 48 iterations | |
- std::search<BMH> 0.3585 GB/s 187217758.0 ns 0 errors in 56 iterations | |
- std::string_view.rfind 0.3725 GB/s 180166000.2 ns 0 errors in 56 iterations | |
- sz_find_last_serial 1.0584 GB/s 63404022.1 ns 0 errors in 160 iterations | |
- sz_find_last_neon 4.4253 GB/s 15164683.8 ns 0 errors in 660 iterations | |
- std::search 0.9381 GB/s 71536316.1 ns 0 errors in 140 iterations | |
- std::search<BM> 0.2544 GB/s 263835475.2 ns 0 errors in 40 iterations | |
- std::search<BMH> 0.3214 GB/s 208772667.9 ns 0 errors in 48 iterations | |
Benchmarking on real words of length 3: | |
- std::string_view.find 1.2723 GB/s 52746496.7 ns 0 errors in 192 iterations | |
- sz_find_serial 1.1216 GB/s 59831307.6 ns 0 errors in 168 iterations | |
- sz_find_neon 6.1232 GB/s 10959844.7 ns 0 errors in 916 iterations | |
- strstr 1.2028 GB/s 55793399.8 ns 0 errors in 180 iterations | |
- memmem 1.5399 GB/s 43579304.7 ns 0 errors in 232 iterations | |
- std::search 1.4762 GB/s 45459484.2 ns 0 errors in 220 iterations | |
- std::search<BM> 0.4510 GB/s 148800317.0 ns 0 errors in 72 iterations | |
- std::search<BMH> 0.5503 GB/s 121954496.8 ns 0 errors in 84 iterations | |
- std::string_view.rfind 0.3699 GB/s 181446826.8 ns 0 errors in 56 iterations | |
- sz_find_last_serial 1.1090 GB/s 60515049.4 ns 0 errors in 168 iterations | |
- sz_find_last_neon 5.8513 GB/s 11469085.6 ns 0 errors in 872 iterations | |
- std::search 0.8298 GB/s 80871701.9 ns 0 errors in 128 iterations | |
- std::search<BM> 0.3804 GB/s 176428516.5 ns 0 errors in 60 iterations | |
- std::search<BMH> 0.4897 GB/s 137052717.7 ns 0 errors in 76 iterations | |
Benchmarking on real words of length 4: | |
- std::string_view.find 2.0283 GB/s 33086821.8 ns 0 errors in 304 iterations | |
- sz_find_serial 2.3921 GB/s 28054782.7 ns 0 errors in 360 iterations | |
- sz_find_neon 11.1391 GB/s 6024611.1 ns 0 errors in 1660 iterations | |
- strstr 2.2078 GB/s 30395726.4 ns 0 errors in 332 iterations | |
- memmem 2.6038 GB/s 25773594.9 ns 0 errors in 392 iterations | |
- std::search 1.9288 GB/s 34792464.7 ns 0 errors in 288 iterations | |
- std::search<BM> 0.7191 GB/s 93319094.9 ns 0 errors in 108 iterations | |
- std::search<BMH> 0.9197 GB/s 72965224.9 ns 0 errors in 140 iterations | |
- std::string_view.rfind 0.4396 GB/s 152673823.3 ns 0 errors in 68 iterations | |
- sz_find_last_serial 1.2098 GB/s 55469454.5 ns 0 errors in 184 iterations | |
- sz_find_last_neon 10.3071 GB/s 6510947.4 ns 0 errors in 1536 iterations | |
- std::search 0.9568 GB/s 70136704.7 ns 0 errors in 144 iterations | |
- std::search<BM> 0.5861 GB/s 114502122.6 ns 0 errors in 88 iterations | |
- std::search<BMH> 0.7938 GB/s 84538306.2 ns 0 errors in 120 iterations | |
Benchmarking on real words of length 5: | |
- std::string_view.find 2.1249 GB/s 31581453.2 ns 0 errors in 320 iterations | |
- sz_find_serial 1.2609 GB/s 53223606.6 ns 0 errors in 188 iterations | |
- sz_find_neon 12.0859 GB/s 5552656.0 ns 0 errors in 1804 iterations | |
- strstr 2.8480 GB/s 23563149.9 ns 0 errors in 428 iterations | |
- memmem 3.3871 GB/s 19812897.2 ns 0 errors in 508 iterations | |
- std::search 2.0391 GB/s 32910759.9 ns 0 errors in 308 iterations | |
- std::search<BM> 0.9124 GB/s 73549986.3 ns 0 errors in 140 iterations | |
- std::search<BMH> 1.1839 GB/s 56682890.8 ns 0 errors in 180 iterations | |
- std::string_view.rfind 0.4439 GB/s 151194761.6 ns 0 errors in 68 iterations | |
- sz_find_last_serial 1.1979 GB/s 56024304.8 ns 0 errors in 180 iterations | |
- sz_find_last_neon 11.0592 GB/s 6068166.0 ns 0 errors in 1652 iterations | |
- std::search 1.0375 GB/s 64685196.5 ns 0 errors in 156 iterations | |
- std::search<BM> 0.7414 GB/s 90517620.0 ns 0 errors in 112 iterations | |
- std::search<BMH> 1.0118 GB/s 66326012.4 ns 0 errors in 152 iterations |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment