2022-09-01 –, HS 120
We all know and love our carefully designed CI pipelines, which tests our code and makes sure by adding some code or fixing a bug we aren’t introducing a regression in the codebase. But we often don’t give the same treatment to benchmarking as we give to correctness. The benchmarking tests are usually one off scripts written to test a specific change. In this talk, we will discuss various strategies to test our code for performance regressions using ASV (airspeed velocity) for python projects.
In this talk, we will discuss how we can use ASV (airspeed velocity) and on demand cloud providers to mimic the usual setup of dedicated servers to run benchmarking tests. Currently, a lot of projects use dedicated servers to run their benchmarking suite, which usually is not economical as the majority of the time the hardware is unused. We can get rid of the setup of dedicated hardware + ongoing costs associated with it by only using resources when required.
Outline
5 mins:
- Why benchmarking?
- The usual ways of running the benchmarking suite on dedicated hardware.
- Using GitHub Actions reliably for "relative benchmark" testing (A quick shout out to the blog post by Quansight)
10 mins:
- How we can use container technology to setup our tests and run them on demand on "dedicated" hardware to cut down on costs and give a lower barrier to entry to set up a benchmarking suite for projects.
Benchmark your python code with airspeed velocity using cloud magic.
Domains –General-purpose Python, Machine Learning, Open Source Library, Scientific data flow and persistence
Expected audience expertise: Domain –some
Expected audience expertise: Python –expert
I am currently working on the NetworkX open source project (work funded through a grant from Chan Zuckerberg Initiative!) Also collaborating with folks from the Scientific Python project (Berkeley Institute of Data Science), Anaconda Inc and GESIS, Germany. Before this I used to work on the GESIS notebooks and gesis.mybinder.org.
I am also interested in the development and maintenance of the open source data & science software ecosystem. I try to help around with the Scientific Open Source ecosystem wherever possible. To share my love of Python and Network Science, I have presented workshops at multiple conferences like PyCon US, SciPy US, PyData London and many more!