Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open Beginner friendly
#24,183 1 comment 0 reactions 0 assignees View on GitHub

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

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.

Dominant language
C
Stars
40.4k
Forks
8.2k
Avg merge
2d 59m
Merged PRs (30d)
155

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from php/php-src

All issues in php/php-src

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.