angular / angular/angular-cli

Spread operator slow with `application` builder

Ouverte
#28,874 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
angular/build:application area: @angular/build freq1: low severity4: memory/performance type: bug/fix
Langage dominant
TypeScript
Étoiles
27k
Forks
11.8k
Merge moyen
14 h 23 min
PR mergées (30 j)
162

Description

### 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_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la reproduction minimale liée, jopelle1/repro-angular-vite, et comparez le temps d’exécution de l’opérateur spread avec l’application builder utilisant Vite et webpack. Suivez les chemins du compilateur Angular et de l’application builder impliqués, puis vérifiez que l’écart de performances signalé est résolu ou clairement caractérisé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript, vite
Domaine
build-system, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.