romanz / electrs

An efficient re-implementation of Electrum Server in Rust
MIT License
1.03k stars 373 forks source link

Feature: add micro-/macro-benchmarks to identify bottlenecks and performance regressions #556

Open romanz opened 2 years ago

romanz commented 2 years ago

Is your feature request related to a problem? Please describe. https://github.com/romanz/electrs/issues/539#issuecomment-940360858

Describe the solution you'd like We should start with collecting performance data as part of our CI. Consider using https://prodfiler.com/ (if it works for our use-case). Maybe we can even run a full sync once in while :)

Describe alternatives you've considered I prefer not to rely on manual performance analysis.

Kixunil commented 2 years ago

Hmm, can't find what exactly it does, just a bunch of empty marketing stuff.

romanz commented 2 years ago

IIUC, they provide continuous profiling-as-a-service: https://prodfiler.com/blog/introducing-prodfiler/ We can definitely use FOSS tools to reproduce those metrics :)

Kixunil commented 2 years ago

That's better but I still don't see how it's used. We upload it there with Bitcoin Core and it will do profiling for us? I'd be surprised if we didn't hit some limit. (Although maybe regtest is good enough?)

(I have no problem with non-FOSS testing tools like this.)