angular / angular/angular-cli

Spread operator slow with `application` builder

Aberta
#28,874 2 comentários 0 reações 0 responsáveis Ver no GitHub
angular/build:application area: @angular/build freq1: low severity4: memory/performance type: bug/fix
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

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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.