unionai-oss / pandera

A light-weight, flexible, and expressive statistical data testing library
https://www.union.ai/pandera
MIT License
3.24k stars 302 forks source link

implement airspeed velocity performance tracking on core methods #148

Open mastersplinter opened 4 years ago

mastersplinter commented 4 years ago

To ensure that the package continues to perform quickly and efficiently over time, it would be good to track performance of some of the key components using Airspeed Velocity. https://asv.readthedocs.io/en/stable/

cosmicBboy commented 4 years ago

this is a good idea 👍🏽

mastersplinter commented 4 years ago

@cosmicBboy had a first trial run at Airspeed Velocity: image

To preview it for yourself, clone branch feature/asv_benchmarking

# install ASV
conda install -c conda-forge asv
# change to the directory in the repo
cd asv_bench

# benchmark commits from a tag to master (takes time, will ask you to configure your machine and environment first)
asv run v0.2.0..master

# build the html:
asv publish
asv preview

# to push to GitHub Pages
asv gh-pages --rewrite

Next steps:

cosmicBboy commented 4 years ago

Cool, created a repo for this: https://github.com/pandera-dev/pandera-asv-logs

mastersplinter commented 4 years ago

@cosmicBboy to get a look at current progress: https://mastersplinter.github.io/pandera/

If we keep the asv-conf and benchmarks in the pandera repo itself, it's simple to use the built-in command asv gh-pages --rewrite to publish the benchmarks to the pandera GitHub Pages. The asv benchmarks would then be viewable using a URL like this: https://github.com/pages/pandera-dev/pandera

You'd need to ensure that this was enabled in the repo settings, i.e.: at https://github.com/pandera-dev/pandera/settings ensure it looks like this:

image

If you want the hosted pages to be associated with the pandera-asv-logs repo itself, then I think I just need to link the asv-conf and benchmarks into the new repo. If you want this setup (i.e. ASV logs are viewable on the seperate repo's GH Pages, then can you grant me admin rights to the other repo so I can change the gh-pages settings and get it setup please.

cosmicBboy commented 4 years ago

cool, I just made you an admin to the https://github.com/pandera-dev/pandera-asv-logs repo if you wanted to try hosting the pages on there, though if it's not straightforward to set it up then we should just maintain it in the pandera repo