A cached vp run spends seconds compiling the same cache globs while building the task graph
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 58/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- rust
- Domínio
- performance
Direção de pesquisa
Start in crates/vt_graph/src/config/mod.rs at resolve_glob_to_workspace_relative, where each input and output pattern is parsed, and compare repeated pattern uses with distinct patterns. The issue measures time spent building the task graph after configs load; use the reported cached vp run @libs/enum#test case to assess the improvement. Done means the same patterns are parsed once and the cached run spends less CPU building the graph.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Written by an AI agent (Claude) on behalf of @jasonkuhrt.
In a workspace of 138 packages and 1,576 tasks, vp run @libs/enum#test with both of its tasks cached spends about 2 s of CPU after the configs load and before the first task starts, building the task graph.
Cause. resolve_glob_to_workspace_relative calls wax::Glob::new for every input and output pattern of every task. In wax 0.7, Glob::new compiles a regular expression and partition compiles another, and only the partition's prefix and text are kept. The workspace has 13,708 pattern uses but only 1,011 distinct patterns: packages repeat the same src/** and the same negations.
Measured (Vite+ 1.4.0 built against vite-task a3c087a7, optimized binding, macOS, 3 interleaved runs per variant, load average about 7):
| before | parse each distinct pattern once | |
|---|---|---|
| whole run, CPU | 4.45 s | 2.47 s |
| whole run, wall | 3.75 s | 1.79 s |
| after configs load, CPU | 2.06 s | 0.10 s |
A second, separate idea. Configs load one package after another (lib.rs). A prototype that let up to 8 loads overlap, keeping results in order, returned the same 138 configs as the serial load and took the same run from 2.47 s to 2.19 s CPU (1.79 s to 1.62 s wall) on top of the glob change. A config whose result depends on load order would be the risk, so it is left out of the fix.
- Linguagem predominante
- Rust
- Estrelas
- 480
- Forks
- 50
- Merge médio
- 1d 3h
- PRs com merge (30d)
- 62
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem 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 voidzero-dev/vite-task
-
A task output archive larger than the remote cache server's request limit can never be storedAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
voidzero-dev/vite-task#888 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
voidzero-dev/vite-task#884 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
voidzero-dev/vite-task#881 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
voidzero-dev/vite-task#879 ·
Mantenedores costumam responder em até 1 dia
-
vp run hangs after a failure when a cancelled task's detached descendant holds its IPC connectionAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
voidzero-dev/vite-task#878 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/vite-task
Issues semelhantes
-
accounts bug decoding
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
wboayue/rust-ibapi#1088 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
`mise doctor` Shows Not Installed Lazy Tools as ProblemsTalvez já em andamento @jdx assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Mantenedores costumam responder em até 1 dia
-
area:kernel needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
bherbruck/solvecraft#7179 · 1 comentário ·
-
priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 61/100
storytold/photocraft#9704 · 3 comentários ·
Mantenedores costumam responder em até 1 dia