This repository was archived by the owner on Oct 17, 2022. It is now read-only.
Benchmarking improvements#4
Open
twilligon wants to merge 3 commits intosimd-lite:mainfrom
Open
Conversation
ea55ccc to
addaf8c
Compare
Author
|
By the way, what was the point of the point of setting the CPU affinity for the benchmarks? It only runs on one core anyway. faster-utf8-validator-rs/benches/criterion_bench.rs Lines 16 to 17 in 9419ade |
Two sets of benchmarks are now run, one with this validator and one with std::str::from_utf8 (a thin, inlined wrapper around the internal run_utf8_validation function). This commit also changes the benchmark to use functions instead of macros, slightly improving readability.
There's no need to make a String (and allocate a new Vec) when the same method is available on &str.
Author
|
Sorry for all the force-pushes, I originally wrote this at 3 AM and messed up a config option/cargo feature. |
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I hooked up benchmarks to the standard library's UTF-8 validator (via
std::str::from_utf8) so I could compare with this implementation. (I'm benchmarking some other Rust and even C utf-8 validators more on my own branch, but that seems like something that belongs in its own repository instead of adding every other utf8 validator as adev-dependencyon this project.)These new benchmarks no longer use the deprecated
ParameterizedBenchmark& co., making an upgrade to criterion 0.4 possible when it comes out. They're also generated using generic functions instead of macros, improving readability. I also added an optional feature to usecriterion-cycles-per-byteto get cycles-per-byte values for the benchmarks usingrdtsc.