Crates.io | iai-parse |
lib.rs | iai-parse |
version | 0.1.3 |
source | src |
created_at | 2023-01-19 14:16:32.894234 |
updated_at | 2024-02-12 22:45:13.286741 |
description | Convert iai benchmark output to CSV. |
homepage | https://github.com/danielparks/iai-parse |
repository | https://github.com/danielparks/iai-parse |
max_upload_size | |
id | 762598 |
size | 65,193 |
Simple tool to read iai output and produce CSV. It can read multiple versions of a file from Git history and produce a CSV file that summarizes the changes.
cargo binstall iai-parse || cargo install iai-parse
For every commit you want to benchmark, run your iai benchmarks, save the output to a file, and commit it. For example:
❯ cargo bench --quiet iai | tee iai-output.txt
iai_bench1
Instructions: 358 (No change)
L1 Accesses: 402 (No change)
L2 Accesses: 4 (No change)
RAM Accesses: 28 (No change)
Estimated Cycles: 1402 (No change)
❯ git commit --amend --no-edit iai-output.txt
(I put “iai” in the name of all my iai benchmarks so I can easily limit bench runs to just them.)
Run iai-parse
on the revisions you care about to get a CSV file with a summary
of the changes:
❯ iai-parse -r main..my_branch iai-output.txt
benchmark,parameter,4a1953a First change,4cbe905 Second change
iai_escape_text_clean_small,Instructions,401,358
iai_escape_text_clean_small,L1 Accesses,404,402
iai_escape_text_clean_small,L2 Accesses,4,3
iai_escape_text_clean_small,RAM Accesses,30,29
iai_escape_text_clean_small,Estimated Cycles,1498,1432
This project dual-licensed under the Apache 2 and MIT licenses. You may choose to use either.
Unless you explicitly state otherwise, any contribution you submit as defined in the Apache 2.0 license shall be dual licensed as above, without any additional terms or conditions.