Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Benchmark CI builds Symfony Demo without ext-intl, so 18% of the request is a polyfill

Offen Anfängerfreundlich
#24,183 0 Kommentare 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
73/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
github-actions, php
Bereich
ci-cd, performance

Rechercherichtung

Beginne mit test-suite.yml und vergleiche die Configure-Optionen und apt-Pakete des BENCHMARKING-Jobs mit denen der Test-Jobs. Die vorgeschlagene Änderung besteht darin, libicu-dev hinzuzufügen und intl zu aktivieren; überprüfe, ob der Benchmark-Job mit dieser Erweiterung erstellt wird. Als abgeschlossen gilt die Aufgabe, wenn der Symfony Demo-Benchmark ext-intl verwendet und die Änderung in der History wie beschrieben vermerkt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Feature Status: Needs Triage
Description

The BENCHMARKING job in test-suite.yml configures without --enable-intl (no libicu-dev in its apt list either), unlike the test jobs. Symfony Demo then runs symfony/polyfill-intl-* for date formatting, ICU messages and symfony/string; the grapheme polyfill does preg_match_all('/\X/u', …) once per grapheme, 17.8K matches per request.

Callgrind on the job's exact extension set (reproduces the CI counts within 0.5%) vs the same build with ext-intl:

Symfony Demo instructions per request PCRE share
as in CI 39,427,533 19.5%
with ext-intl 31,533,221 (−20%) 1.6%

preg_match_all() alone is 18% of the official number. A Symfony deployment doesn't run that path — the polyfill is the fallback — so a fifth of the benchmark moves with PCRE's global-match loop and \X and says nothing about the engine. bench.php and WordPress are unaffected.

I'd add libicu-dev and --enable-intl to the job. The cost is a −20% step in the Symfony history at the switch, worth a note in the results. I can send the workflow change if that's acceptable.

Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.2k
Ø Merge
2 T. 1 Std.
Gemergte PRs (30 T.)
153

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 php/php-src

Alle Issues in php/php-src

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

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