angular / angular/angular-cli

Spread operator slow with `application` builder

Offen
#28,874 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
angular/build:application area: @angular/build freq1: low severity4: memory/performance type: bug/fix
Vorherrschende Sprache
TypeScript
Sterne
27k
Forks
11.8k
Ø Merge
14 Std. 23 Min.
Gemergte PRs (30 T.)
162

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der verknüpften minimalen Reproduktion jopelle1/repro-angular-vite und vergleiche das Timing des Spread-Operators beim Application Builder mit Vite und webpack. Verfolge die beteiligten Pfade des Angular-Compilers und des Application Builders und überprüfe anschließend, ob die gemeldete Performance-Lücke behoben oder klar charakterisiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript, vite
Bereich
build-system, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.