codeceptjs run-workers X can do with sequencing improvements
Personne n'a encore pris cette issue.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
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
- Langage dominant
- JavaScript
- Étoiles
- 4.2k
- Forks
- 756
- Merge moyen
- 2 j 9 h
- PR mergées (30 j)
- 16
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de codeceptjs/CodeceptJS
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
codeceptjs/CodeceptJS#5420 · 1 commentaire ·
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
codeceptjs/CodeceptJS#5358 · 1 commentaire ·
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
codeceptjs/CodeceptJS#4958 · 10 commentaires · 2 réactions ·
-
stale
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
codeceptjs/CodeceptJS#4778 · 3 commentaires ·
-
stale
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
codeceptjs/CodeceptJS#5618 · 1 commentaire ·
Toutes les issues de codeceptjs/CodeceptJS
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
mksglu/context-mode#1200 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
neondatabase/website#5944 ·
-
module: core
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
jaegertracing/jaeger-ui#4506 ·