-
-
Notifications
You must be signed in to change notification settings - Fork 426
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[WIP] Benchmark main ArviZ code #1088
Conversation
What different things we want to test? All diagnostics / stats functions? Also, should we implement LineProfiler for all the functions? Also maybe a viz about our codebase? https://pycallgraph.readthedocs.io/en/master/ And then add one file that does some processing for the results? |
I would start (small) with asv benchmarks timing some common functions. Also, if they have numba option, compare between numba and no numba. This will warn us when there is a suspicious change in the code. One example is Once we are happy with these benchmarks we can try to go deeper, check memory usage, line profiling... |
Codecov Report
@@ Coverage Diff @@
## master #1088 +/- ##
==========================================
+ Coverage 92.68% 93.45% +0.77%
==========================================
Files 93 93
Lines 9032 8705 -327
==========================================
- Hits 8371 8135 -236
+ Misses 661 570 -91
Continue to review full report at Codecov.
|
Can't we import |
I think there are some issues due to cyclic imports. We have to check functions in stats utils and plot utils to make sure that plot utils imports stats utils and stats utils does not import plot utils. |
@nitishp25 also feel free to check out this branch locally to build on top of this and submit the work in a different PR |
I'll close in favour of #1142 |
Description
Benchmarks currently have a copied version of ArviZ's functions in their code instead of using ArviZ itself. Once finished it will fix #782.
Moving the benchmarks one folder below allows to import ArviZ. Then, to ease comparison, it would be great to use asv parametrization options, so that both numba and non-numba version are run in the same environment.
Checklist