Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@dmatveev
Copy link
Contributor

@dmatveev dmatveev commented Feb 21, 2024

Background

G-API tests look running longer than tests for the rest of modules (e.g., 5m), and the analysis show that there's several outliers in G-API test suite which take a lot of time but don't improve the testing quality much:
image

In this PR I will cut the execution time to something reasonable.

Contents

  • Marked some outliers as verylong:
    • OneVPL barrier test - pure brute force
    • Stateful test in stream - in fact BG Sub accuracy test clone
  • Restructured parameters instantiation in Streaming tests to generate less test configurations (54 -> 36)

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
  • The PR is proposed to the proper branch
  • There is a reference to the original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake

- Marked some outliers as `verylong`:
  - OneVPL barrier test - pure brute force
  - Stateful test in stream - in fact BG Sub accuracy test clone
- Restructured parameters instantiation in Streaming tests to
  generate less test configurations (54 -> 36)
@dmatveev dmatveev added this to the 4.10.0 milestone Feb 21, 2024
@dmatveev dmatveev self-assigned this Feb 21, 2024
@dmatveev
Copy link
Contributor Author

Okey dokey here's first results,

before: https://github.com/opencv/opencv/actions/runs/7988786908/job/21814098436
image

after: https://github.com/opencv/opencv/actions/runs/7988920497/job/21814498159?pr=25060
image

Nearly the 40% time reduction. I will check how the profile looks after than and move forward.

@dmatveev
Copy link
Contributor Author

Updated stats - after the first attempt - now it is something we can work with:
image

Notably, the top-20 tests consume 100s of 175s total (roughly 60% of all time).
Another notable stats:

  • Fluid tests take 17.6s (~10%) to complete, 83 tests total
  • OCL tests take 19.8s (~11.3%) to complete, 70 tests total
  • CPU tests take 73.9s (~ 42.2%) to complete, 151 tests total, with Background Subtractor marked as the slowest test.
  • Video-related Streaming tests now only take 40.5s (~ 23%), 13 tests total.

Copy link
Contributor

@asmorkalov asmorkalov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@asmorkalov
Copy link
Contributor

@TolyaTalamanov

@dmatveev
Copy link
Contributor Author

@asmorkalov we discussed locally with @TolyaTalamanov and he was ok with the Streaming test change; so I believe this one can merged to help the CI (I will continue the work in other PRs)

@asmorkalov asmorkalov assigned asmorkalov and unassigned dmatveev Feb 22, 2024
@asmorkalov asmorkalov merged commit d792086 into opencv:4.x Feb 22, 2024
@asmorkalov asmorkalov mentioned this pull request Feb 26, 2024
klatism pushed a commit to klatism/opencv that referenced this pull request May 17, 2024
G-API: Make test execution lighter (first attempt) opencv#25060

### Background

G-API tests look running longer than tests for the rest of modules (e.g., 5m), and the analysis show that there's several outliers in G-API test suite which take a lot of time but don't improve the testing quality much:
![image](https://github.com/opencv/opencv/assets/144187/e6df013f-e548-47ac-a418-285b3f78c9f8)

In this PR I will cut the execution time to something reasonable.

### Contents

- Marked some outliers as `verylong`:
  - OneVPL barrier test - pure brute force
  - Stateful test in stream - in fact BG Sub accuracy test clone
- Restructured parameters instantiation in Streaming tests to generate less test configurations (54 -> 36)

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants