Spread operator slow with `application` builder
- Lenguaje dominante
- TypeScript
- Estrellas
- 27k
- Forks
- 11.8k
- Merge medio
- 14 h 23 min
- PR fusionados (30 d)
- 162
Descripción
### 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_
Guía de contribución
Línea de trabajo
Comienza con la reproducción mínima enlazada, jopelle1/repro-angular-vite, y compara el tiempo del operador spread con el application builder usando Vite y webpack. Rastrea las rutas del compilador de Angular y del application builder implicadas y, después, verifica si la diferencia de rendimiento notificada se ha resuelto o se ha caracterizado claramente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- angular, typescript, vite
- Área
- build-system, performance
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100