aai-institute / aai-institute/pyDVL

Create performance tests / benchmarking

Đang mở
#20 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
benchmarking testing
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.