Benchmark CI builds Symfony Demo without ext-intl, so 18% of the request is a polyfill
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 73/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, php
- Domain
- ci-cd, performance
Research direction
Start with test-suite.yml and compare the BENCHMARKING job's configure options and apt packages with the test jobs. The proposed change is to add libicu-dev and enable intl; verify the benchmark job builds with that extension. Done means the Symfony Demo benchmark uses ext-intl, with the history change noted as described.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- C
- Stars
- 40.4k
- Forks
- 8.2k
- Avg merge
- 2d 59m
- Merged PRs (30d)
- 155
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from php/php-src
-
Bug Status: Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
php/php-src#24196 · 1 comment ·
Maintainers usually reply within 1 day
-
Sockets from synchronous stream_socket_client() are left in non-blocking mode on WindowsPossibly taken A pull request linked to this issue is open or already merged. OpenBug Status: Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Variant analysis: 1 unfixed sibling safety gap in php-srcPossibly taken @kamil-tekiela claimed this 13 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
php/php-src#23958 · 1 assignee ·
Maintainers usually reply within 1 day
-
sapi_lsapi_ub_write does not return bytes written in lsapi modePossibly taken A pull request linked to this issue is open or already merged. OpenBug Status: Needs Triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Bug Status: Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
KalicoCrew/kalico#1012 ·
Maintainers usually reply within 1 day
-
[Fix proposed] macOS 10.9: crash on startup due to +[NSColor linkColor] (10.10+ API) in menu_macos.mmPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
joncampbell123/dosbox-x#6664 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
ECDHE_ECDSA ClientKeyExchange rejected as too short when DTLS_PSK_MAX_CLIENT_IDENTITY_LEN > 64Possibly taken A pull request linked to this issue is open or already merged. Openbug good first issue please retest
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
eclipse-tinydtls/tinydtls#298 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100