aai-institute / aai-institute/pyDVL
Create performance tests / benchmarking
- Ngôn ngữ chính
- Python
- Star
- 146
- Fork
- 10
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
In order to keep track of the performance of the library, we should implement performance tests.
It would also allow us to properly assess whether a change actually improves the performance or not.
A first approach we could choose would be to write tests, with proper fixtures to make the test runs independant, using the [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) extension. This would make running the tests a slower but would allow us to easily benchmarks certain parts of the code without writing too much extra code. Of course we should use pytest markers to prevent running such tests by default.
A second approach would be to use [airspeed-velocity](https://asv.readthedocs.io/en/latest/index.html), a tool for benchmarking Python packages over their lifetime. Runtime, memory consumption and even custom-computed values may be tracked. This would require us to write a bit of code and to ideally keep it in a separate repository, but it would give allow us to track the changes overtime and to track multiple things more easily.
For example, [Dask](https://github.com/dask/dask) is using it and storing the code and results in [this repository](https://github.com/dask/dask-benchmarks).
Hướng dẫn đóng góp
Hướng nghiên cứu
Issue đề cập đến việc dùng pytest-benchmark hoặc airspeed-velocity. Trước tiên, hãy xem xét test suite hiện có để hiểu cấu trúc codebase. Tìm các phần performance-critical để benchmark. Kiểm tra xem có fixtures hiện có không. Quyết định một hướng tiếp cận: hoặc tích hợp pytest-benchmark với markers hoặc thiết lập một repository riêng cho airspeed-velocity tương tự setup của Dask. 'Done' nghĩa là có một benchmark suite hoạt động được, có thể theo dõi performance theo thời gian.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- performance, testing
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100