Lower the cost of each launched wp process
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 55/100
- Tipo de issue
- Refatoração
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- php
- Domínio
- performance, testing
Direção de pesquisa
Consult #384 for baseline CI timings and #257 for Xdebug conditions. Find where the framework spawns wp processes (likely PHP test harness) and add logic to disable Xdebug unless coverage/debug is set, plus an opcode cache for WP-CLI and package code while excluding per-scenario WordPress copies. Done means a draft PR shows reduced CI run times recorded against the baseline.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Almost all of the suite's run time is spent in the wp processes the scenarios launch; the Behat process itself accounts for about 3% of a run. Each wp call costs about 0.3 seconds, and the bundled commands make around 9,300 of them per suite run, plus the ones the framework makes itself.
Two things make each process more expensive than it needs to be:
- Xdebug. When Xdebug is loaded locally, every child process pays for it. Turning it off for the launched processes took a local
cache-commandrun from 126 to 98 seconds. It should stay off unless coverage is collected or step debugging is requested (see #257). - No opcode cache. Every process compiles WP-CLI and the package code from scratch, although that code does not change during a run. Caching only that code took a typical call from about 300 to 200 ms locally. The per-scenario WordPress copies must stay uncached: they are rewritten during scenarios, and a stale compiled file would change what a test exercises.
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.
- Linguagem predominante
- PHP
- Estrelas
- 42
- Forks
- 29
- Merge médio
- 21h 6min
- PRs com merge (30d)
- 24
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de wp-cli/wp-cli-tests
-
scope:testing status:unconfirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
wp-cli/wp-cli-tests#389 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
os:windows scope:testing status:unconfirmed
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
wp-cli/wp-cli-tests#427 ·
Mantenedores costumam responder em até 1 dia
-
bug scope:testing
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 22/100
wp-cli/wp-cli-tests#426 ·
Mantenedores costumam responder em até 1 dia
-
scope:artifacts scope:distribution scope:testing
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
wp-cli/wp-cli-tests#425 ·
Mantenedores costumam responder em até 1 dia
-
scope:testing
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
wp-cli/wp-cli-tests#395 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de wp-cli/wp-cli-tests
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 3 dias
-
sync-en
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
[Sync EN] Formatting improvements to "Large Objects (LOBs)" docs (#6056)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertasync-en
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Перевод устарел
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
repo:cms
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
craftcms/cms#20613 · 1 comentário ·
Mantenedores costumam responder em até 1 dia