Lower the cost of each launched wp process
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- php
- Domaine
- performance, testing
Piste de recherche
Consult #384 for baseline CI timings and #257 for Xdebug conditions. Find where the framework spawns wp processes (likely PHP test harness) and add logic to disable Xdebug unless coverage/debug is set, plus an opcode cache for WP-CLI and package code while excluding per-scenario WordPress copies. Done means a draft PR shows reduced CI run times recorded against the baseline.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Almost all of the suite's run time is spent in the wp processes the scenarios launch; the Behat process itself accounts for about 3% of a run. Each wp call costs about 0.3 seconds, and the bundled commands make around 9,300 of them per suite run, plus the ones the framework makes itself.
Two things make each process more expensive than it needs to be:
- Xdebug. When Xdebug is loaded locally, every child process pays for it. Turning it off for the launched processes took a local
cache-commandrun from 126 to 98 seconds. It should stay off unless coverage is collected or step debugging is requested (see #257). - No opcode cache. Every process compiles WP-CLI and the package code from scratch, although that code does not change during a run. Caching only that code took a typical call from about 300 to 200 ms locally. The per-scenario WordPress copies must stay uncached: they are rewritten during scenarios, and a stale compiled file would change what a test exercises.
Measuring: take the baseline from #384, then open a draft PR, run the same CI jobs against it and record both results here before we decide.
- Langage dominant
- PHP
- Étoiles
- 42
- Forks
- 29
- Merge moyen
- 21 h 6 min
- PR mergées (30 j)
- 24
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire 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 wp-cli/wp-cli-tests
-
scope:testing status:unconfirmed
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
wp-cli/wp-cli-tests#389 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
os:windows scope:testing status:unconfirmed
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
wp-cli/wp-cli-tests#427 ·
Les mainteneurs répondent en général sous 1 jour
-
bug scope:testing
Difficulté 4/5 3-5 jours Accessibilité débutants 22/100
wp-cli/wp-cli-tests#426 ·
Les mainteneurs répondent en général sous 1 jour
-
scope:artifacts scope:distribution scope:testing
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
wp-cli/wp-cli-tests#425 ·
Les mainteneurs répondent en général sous 1 jour
-
Epic: Explicit test requirementsOuvertescope:testing
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
wp-cli/wp-cli-tests#395 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de wp-cli/wp-cli-tests
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 3 jours
-
sync-en
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
[Sync EN] Formatting improvements to "Large Objects (LOBs)" docs (#6056)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertesync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Перевод устарел
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
repo:cms
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
craftcms/cms#20613 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour