angular / angular/angular-cli

Spread operator slow with `application` builder

Abierto
#28,874 2 comentarios 0 reacciones 0 asignados Ver en GitHub
angular/build:application area: @angular/build freq1: low severity4: memory/performance type: bug/fix
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.