Closed zacky1972 closed 4 years ago
MacBook Air
benchmark name iterations average time StringReplace.replace 10000000 0.35 µs/op String.replace 1000000 1.26 µs/op
SIMD version is 3.6x faster than original String.replace!!!
iMac Pro
## StringReplaceBench
benchmark name iterations average time
StringReplace.replace 10000000 0.20 µs/op
String.replace 10000000 0.67 µs/op
3.35x faster!
Windows 10 (Intel CORE m3: 2 Pysical cores / 4 Logical cores)
## LogisticMapBench
benchmark name iterations average time
Pelemay 1000 1438.00 ツオs/op
Enum 500 4626.00 ツオs/op
Flow 200 7890.00 ツオs/op
## StringReplaceBench
benchmark name iterations average time
Pelemay String.replace 1000000 1.58 ツオs/op
Enum String.replace 500000 4.62 ツオs/op
Flow String.replace 5000 662.40 ツオs/op
2.92x faster (This was close to mac result)
I'll try data preprocessing with Esuna using Pelemay :-)
I guess to implement String.replace/4 using SIMD instructions will be as follows:
This issue is a part of #49
branch name is
string_replace
.