codeceptjs run-workers X can do with sequencing improvements
Chưa có ai nhận issue này.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
What are you trying to achieve?
codeceptjs run-workers 5 should be more performant and pull tests from a pool instead of having each test pre-assigned to a thread
What do you get instead?
Currently run-workers will create a pool of all tests when codeceptjs run-workers 5 is executed.
It then pre-assigns each test to a CPU thread and starts running all tests assigned to each thread.
This creates an even distribution of tests per thread. The problem is that not all tests are equal in terms of runtime
Small sample from end of test execution
[01] ✔ in 4354ms
[04] ✔ in 4794ms
[02] ✔ in 3328ms
[04] ✔ in 7131ms
[03] ✔ in 13437ms
[01] ✔ in 11558ms
[05] ✔ in 21881ms
[02] ✔ in 7051ms
[02] ✔ in 4259ms
[03] ✔ in 15055ms
[02] ✔ in 5372ms
[03] ✔ in 5274ms
[03] ✔ in 17304ms
If all tests in thread 1 would complete in 2 minutes, then thread 1 would not pick up any more tests even if thread 2 - 5 have 6 tests all still waiting in their queue. This means that tests are only as fast as the slowest thread rather than allowing tests to be picked up by an idle thread.
In the example above thread 02 and 03 were slower than others. thread 01, 04 and 05 were waiting in idle while 02 and 03 were continuing with their queue.
In an ideal world, thread 01, 04 or 05 would see this incomplete queue and pick up a task to speed up test performance.
Details
- CodeceptJS version: 3.5.3
- NodeJS Version: 18
- Operating System: MacOS / Linux
- puppeteer
- Ngôn ngữ chính
- JavaScript
- Star
- 4.2k
- Fork
- 756
- Merge trung bình
- 2 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 16
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của codeceptjs/CodeceptJS
-
stale
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
codeceptjs/CodeceptJS#5420 · 1 bình luận ·
-
stale
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
codeceptjs/CodeceptJS#5358 · 1 bình luận ·
-
stale
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
codeceptjs/CodeceptJS#4958 · 10 bình luận · 2 reaction ·
-
stale
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
codeceptjs/CodeceptJS#4778 · 3 bình luận ·
-
stale
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
codeceptjs/CodeceptJS#5618 · 1 bình luận ·
Tất cả issue của codeceptjs/CodeceptJS
Issue tương tự
-
ai-observability bug team/ai-observability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
AllTheMods/ATM-10-L#19 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
SignalK/n2k-signalk#345 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
JuliaPluto/PlutoPlotly.jl#72 ·