-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: github proving benchmark #701
Conversation
14c9fda
to
f1fcb2d
Compare
698e957
to
91001e8
Compare
I think you can still use |
Making it draft until we find the appropriate testing data. |
150fa85
to
402f290
Compare
jobs: | ||
benchmark_proving: | ||
name: Benchmark proving for representative blocks | ||
runs-on: zero-reg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
info: is there somewhere I can read about the different CI runners we have, and how they're spec'd out/intended to be used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one is created by Ben for this particular benchmark. Best available.
ea58f10
to
e174251
Compare
e174251
to
7b4ec23
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'd prefer storing the data differently - how do you feel about saving off wide information as follows?
Get full information from time
/usr/bin/time \
--format='{"command":"%C","avg_unshared_data_kb":%D,"elapsed_real_hms":"%E","pg_fault_io_major_ct":%F,"fs_inputs_ct":%I,"avg_mem_kb":%K,"max_rss_kb":%M,"fs_outputs_ct":%O,"cpu_pc":"%P","pg_fault_minor_ct":%R,"cpu_kernel_secs":%S,"cpu_user_secs":%U,"swap_ct":%W,"avg_shared_text_kb":%X,"system_pg_size_bytes":%Z,"ctx_switch_forced_ct":%c,"elapsed_real_secs":%e,"signals_recv_ct":%k,"avg_unshared_stack_kb":%p,"socket_recv_ct":%r,"socket_sent_ct":%s,"avg_rss_kb":%t,"ctx_switch_yield_ct":%w,"exit_status":%x}' \
--output time.json \
"$COMMAND" \
"$ARGS"
Combine information as follows
{
"commit": $hash,
"date": $date,
"runner": {
"name": $runner,
"cores": ...,
"arch": ...,
},
"time": {
// from time.json
},
}
I would strongly prefer moving away from bash scripts too - can we do the above in xtask
?
@0xaatif I am fine to switch to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok let's just get something running then
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd also ideally have this process automated, flagging regressions directly but good as a first shot
Yes, switching to Rust processing of the results, I think we could raise some flags and alarms in case of regressions. |
Resolves #651
Here we download
proving_benchmark_results.txt
artifact form previous succesfull run.We run the proving job with
$BENCHMARK_WITNESS
file.We append the resulting time to the simple textual result file and upload it to artifacts repo.
Job is executed every night at 4AM and manually.