Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta Para iniciantes
#24,183 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
73/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
github-actions, php
Domínio
ci-cd, performance

Direção de pesquisa

Comece por test-suite.yml e compare as opções de configure e os pacotes apt do job BENCHMARKING com os dos jobs de teste. A mudança proposta é adicionar libicu-dev e habilitar intl; verifique se o job de benchmark é compilado com essa extensão. O trabalho estará concluído quando o benchmark do Symfony Demo usar ext-intl e a alteração no histórico estiver registrada conforme descrito.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
C
Estrelas
40.4k
Forks
8.2k
Merge médio
1d 23h
PRs com merge (30d)
150

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de php/php-src

Todas as issues de php/php-src

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.