Spread operator slow with `application` builder
- Linguagem predominante
- TypeScript
- Estrelas
- 27k
- Forks
- 11.8k
- Merge médio
- 14h 23min
- PRs com merge (30d)
- 162
Descrição
### Which @angular/* package(s) are the source of the bug?
compiler
### Is this a regression?
No
### Description
Hello,
I noticed that the spread operator is significantly slower (sometimes more than 2x slower) when using vite instead of webpack.
This doubles the loading time of some of our components.
In my [minimal reproduction](https://github.com/jopelle1/repro-angular-vite), I get an average of 10ms with webpack and 35ms with vite, with both firefox and chrome.
Is this indeed an issue with angular and is there any way to fix it?
Thank you
### Please provide a link to a minimal reproduction of the bug
https://github.com/jopelle1/repro-angular-vite
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI: 17.3.11
Node: 18.20.4
Package Manager: npm 10.8.2
OS: linux x64
Angular: 17.3.12
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1703.11
@angular-devkit/build-angular 17.3.11
@angular-devkit/core 17.3.11
@angular-devkit/schematics 17.3.11
@angular/cli 17.3.11
@schematics/angular 17.3.11
rxjs 7.8.1
typescript 5.4.5
zone.js 0.14.10
```
### Anything else?
_No response_
Guia de contribuição
Direção de pesquisa
Comece com a reprodução mínima vinculada, jopelle1/repro-angular-vite, e compare o tempo do operador spread usando o application builder com Vite e webpack. Rastreie os caminhos envolvidos do compilador do Angular e do application builder e, em seguida, verifique se a diferença de desempenho relatada foi resolvida ou claramente caracterizada.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- angular, typescript, vite
- Domínio
- build-system, performance
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 30/100