moov-io / ach

ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available.
https://moov-io.github.io/ach/
Apache License 2.0
455 stars 154 forks source link

perf: improve includesValidCharacters lookups #1400

Closed adamdecaf closed 6 months ago

adamdecaf commented 6 months ago
MergeFiles/MergeFiles-16                     942.8µ ± ∞ ¹   505.5µ ± ∞ ¹        ~ (p=1.000 n=1) ²
MergeFiles/MergeFiles_ValidateOpts-16        958.8µ ± ∞ ¹   503.0µ ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                      1.105m         535.8µ        -51.50%

MergeFiles/MergeFiles-16                    55.71Ki ± ∞ ¹   55.60Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
MergeFiles/MergeFiles_ValidateOpts-16       55.69Ki ± ∞ ¹   55.62Ki ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                     57.61Ki         57.43Ki        -0.33%

MergeFiles/MergeFiles-16                      637.0 ± ∞ ¹   637.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
MergeFiles/MergeFiles_ValidateOpts-16         637.0 ± ∞ ¹   637.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                       656.7         656.4        -0.05%