Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a benchmarking workflow to xclim #1510

Open
2 tasks done
coxipi opened this issue Oct 23, 2023 · 2 comments
Open
2 tasks done

Add a benchmarking workflow to xclim #1510

coxipi opened this issue Oct 23, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@coxipi
Copy link
Contributor

coxipi commented Oct 23, 2023

Addressing a Problem?

xclim deals with big datasets and long computations. The difference between an optimal and suboptimal implementation of an algorithm can easily modify the running time by orders of magnitude. We should monitor more systematically the performance of our algorithms.

Potential Solution

We already use pytest, and this testing suite also offers benchmarking tools. It could be a good place to start.

https://pytest-benchmark.readthedocs.io/en/latest/

I will search if other big projects use this, and if so, how. Right now, I'm just thinking I could reproduce the "tests" folder with a "benchmarks" folder.

Additional context

No response

Contribution

  • I would be willing/able to open a Pull Request to contribute this feature.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@coxipi coxipi added the enhancement New feature or request label Oct 23, 2023
@coxipi coxipi changed the title Adding a benchmarking workflow to xclim Add a benchmarking workflow to xclim Oct 23, 2023
@Zeitsperre
Copy link
Collaborator

Relevant repository: https://github.com/Ouranosinc/xclim-benchmark

@SarahG-579462
Copy link
Contributor

For notebook-level investigations into algorithms, I'd suggest taking a gander at flamegraph, https://github.com/H4dr1en/jupyterflame.git seems to work quite well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants