Closed MakisChristou closed 2 months ago
Here are the benchmark results before after after the changes of this PR. @libotony @otherview
bench_results_formatted_docker_before.txt bench_results_formatted_docker_after.txt
it looks like there is a slight slowdown from before the changes.
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 62.58%. Comparing base (
c28bd36
) to head (741aa85
). Report is 2 commits behind head on master.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Here are the benchmark results before after after the changes of this PR. @libotony @otherview
bench_results_formatted_docker_before.txt bench_results_formatted_docker_after.txt
it looks like there is a slight slowdown from before the changes.
Summary for the benchmark result:
Here are the benchmark results before after after the changes of this PR. @libotony @otherview bench_results_formatted_docker_before.txt bench_results_formatted_docker_after.txt it looks like there is a slight slowdown from before the changes.
Summary for the benchmark result:
- All _write ops is improving, but read ops are decreasing at the executing performance
- All read/write ops are improving at the memory usage
I think the perf hit is neglatable - Also, I added https://github.com/vechain/protocol-board-repo/issues/256 where hopefully we can perhaps get some performance gains.
Here are the benchmark results before after after the changes of this PR. @libotony @otherview bench_results_formatted_docker_before.txt bench_results_formatted_docker_after.txt it looks like there is a slight slowdown from before the changes.
Summary for the benchmark result:
- All _write ops is improving, but read ops are decreasing at the executing performance
- All read/write ops are improving at the memory usage
I think the perf hit is neglatable - Also, I added vechain/protocol-board-repo#256 where hopefully we can perhaps get some performance gains.
Per my previous comment, the testing cases are not covering real use case, need to update the test case and check the result again.
@libotony Here are the benchmark results after incorporating the changes bench_results_formatted_docker_after2.txt
@libotony Here are the benchmark results after incorporating the changes bench_results_formatted_docker_after2.txt
The change looks good, could you also post the same test on top of old source code?
@MakisChristou Looks like your test result is on arm based machine, I assume it's macOS, right? Could you also post the steps and the data used for testing? I would like to do a test in a Linux based system.
@libotony Here are the benchmark results after incorporating the changes bench_results_formatted_docker_after2.txt
The change looks good, could you also post the same test on top of old source code?
Yes here are the same benchmarks on the current master branch.
@MakisChristou Looks like your test result is on arm based machine, I assume it's macOS, right? Could you also post the steps and the data used for testing? I would like to do a test in a Linux based system.
Sure. We used the testnet_logs.db
file provided by @kgapos (I think the AWS link expired so you need to reach out to him for it). The steps are the following
testnet_logs.db
file to the container (e.g. -v /folder/containing/testnet/logs:/home/thor/
)go test -bench=. -benchmem -count=6 -benchtime=10s --timeout 120m github.com/vechain/thor/v2/logdb -dbPath /home/thor/testnet_logs.db
)So we are using the container that is also running thor to run the benchmarks but hopefully this is not an issue.
@MakisChristou Looks like your test result is on arm based machine, I assume it's macOS, right? Could you also post the steps and the data used for testing? I would like to do a test in a Linux based system.
Sure. We used the
testnet_logs.db
file provided by @kgapos (I think the AWS link expired so you need to reach out to him for it). The steps are the following
- Clone thor
- Choose branch (e.g. before or after the SQlite changes)
- Build local docker image
- Start docker container and map the
testnet_logs.db
file to the container (e.g.-v /folder/containing/testnet/logs:/home/thor/
)- Inside the container clone thor and run the benchmarks (e.g.
go test -bench=. -benchmem -count=6 -benchtime=10s --timeout 120m github.com/vechain/thor/v2/logdb -dbPath /home/thor/testnet_logs.db
)So we are using the container that is also running thor to run the benchmarks but hopefully this is not an issue.
Thanks, will do a summary.
Closing in favor of #784
This PR
1.21
to the latest stable version which is1.22.4
.3.41
to3.45
logdb
benchmarks.Upgrade Golang + Golangci-lint
Upgrades all golang usage to 1.22 and the linter to 1.59.0. It's possible to upgrade golang usage to 1.22 and the
linter to 1.59.1
by doing the following these commands: