Avoid the extra PHP process in the wp launcher

Offen Anfängerfreundlich
#389 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
65/100
Issue-Typ
Refactoring
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
bash, php
Bereich
cli, testing

Rechercherichtung

Beginne damit, bin/wp in wp-cli/wp-cli zu lesen, um den php -r "echo PHP_OS;" Aufruf zu finden, der für die Cygwin-Erkennung verwendet wird. Entwirf eine shell-basierte Prüfung, um den zusätzlichen PHP-Prozess zu vermeiden. Erledigt bedeutet, dass wp mit einem PHP-Aufruf startet und die hier aufgezeichneten CI-Zeitmessungen eine Beschleunigung gegenüber der #384-Baseline zeigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

scope:testing status:unconfirmed

The wp launcher script starts PHP twice for every command: once to run php -r "echo PHP_OS;", which is only needed to detect Cygwin, and once to run WP-CLI itself. Together with the shell wrappers this adds about 30 ms to every call (121 ms versus 92 ms for wp cli version locally).

The test suites make well over 10,000 wp calls per run of the bundled commands, so this adds up to several minutes for each CI configuration. It also slows down every real-world invocation.

The fix belongs in bin/wp in wp-cli/wp-cli. It is tracked here because the test suite is where the impact is largest.

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.

Vorherrschende Sprache
PHP
Sterne
42
Forks
28
Ø Merge
17 Std. 14 Min.
Gemergte PRs (30 T.)
11

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus wp-cli/wp-cli-tests

Alle Issues in wp-cli/wp-cli-tests

Ähnliche Issues

Weitere Issues zu PHP

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.