aboutsummaryrefslogtreecommitdiff
path: root/crates/hashx/bench/benches
Commit message (Collapse)AuthorAgeFilesLines
* hashx_cachegrind: Fix black_box locationIan Jackson2023-08-231-2/+2
|
* hashx_cachegrind: Make mk_c_equix not shuffle the HashXIan Jackson2023-08-231-8/+8
|
* hashx_cachegrind: Make mk_rust not shuffle the HashXBuilderIan Jackson2023-08-231-10/+9
|
* hashx_cachegrind: Introduce C_HASHX_OK aliasIan Jackson2023-08-231-2/+5
|
* hashx_cachegrind: Introduce bench_loop helper macroIan Jackson2023-08-231-24/+29
| | | | | The macro generates similar but not identical code. There are new bindings.
* hashx_cachegrind: Introduce u32be helper functionIan Jackson2023-08-231-4/+11
| | | | This is going to be more obviously useful in a moment.
* hashx_cachegrind: Introduce mk_c_equix helper macroIan Jackson2023-08-231-4/+9
| | | | The macro generates precisely the existing code.
* hashx_cachegrind: Introduce mk_rust helper macroIan Jackson2023-08-231-8/+14
| | | | The macro generates precisely the existing code.
* hashx/bench: Add cachegrind microbenchmarksMicah Elizabeth Scott2023-08-182-0/+90
| | | | | | | This uses the 'iai' crate and valgrind to measure fine grained cache behavior during program generation and hash computation. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* hashx/bench: Shared generate wrapper for u64-hash and full-hashMicah Elizabeth Scott2023-08-011-11/+14
| | | | | | Code cleanup from review feedback Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Benchmark against C implementationMicah Elizabeth Scott2023-08-011-0/+178
This is a small batch of improvements for the equix and hashx benchmarks. The headline feature is that we are now including the C implementations (slightly modified from tevador's, hosted as part of c-tor) and using them in apples-to-apples comparisons. Minor features: - Benchmarks moved to new nested crates, preventing their dependencies from spilling into the main workspace build. - Tests are now grouped - We also test the performance of memory reuse where possible - Code cleanup for per-runtime options These benchmark builds will now automatically pull in the c-tor git repo and build portions of it with a Rust wrapper. This uses the 'cc' and 'bindgen' crates, so it requires a C compiler and libclang on the host system. Signed-off-by: Micah Elizabeth Scott <[email protected]>