microsoft / microsoft/TypeScript
Regression performance compiling types in version 5.4.2
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Go
- Star
- 111k
- Fork
- 14.4k
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 117
Mô tả
🔎 Search Terms
"regression", "5.4.2", "performance"
🕗 Version & Regression Information
- This changed between versions 5.3.3 and 5.4.2
⏯ Playground Link
No response
💻 Code
Extended diagnostics in version 5.4.2
Files: 4294
Lines of Library: 40640
Lines of Definitions: 180807
Lines of TypeScript: 430513
Lines of JavaScript: 0
Lines of JSON: 0
Lines of Other: 0
Identifiers: 591567
Symbols: 1232510
Types: 4677381
Instantiations: 395496734
Memory used: 2330550K
Assignability cache size: 3974893
Identity cache size: 14482
Subtype cache size: 37794
Strict subtype cache size: 9374
I/O Read time: 0.70s
Parse time: 0.96s
ResolveModule time: 0.58s
ResolveTypeReference time: 0.01s
ResolveLibrary time: 0.01s
Program time: 2.51s
Bind time: 0.62s
Check time: 367.45s
printTime time: 0.00s
Emit time: 0.00s
Total time: 370.58s
Extended diagnostics in version 5.3.3
Files: 4290
Lines of Library: 40241
Lines of Definitions: 180807
Lines of TypeScript: 430513
Lines of JavaScript: 0
Lines of JSON: 0
Lines of Other: 0
Identifiers: 591320
Symbols: 1234773
Types: 699200
Instantiations: 2247099
Memory used: 1308962K
Assignability cache size: 223823
Identity cache size: 14479
Subtype cache size: 28353
Strict subtype cache size: 9128
I/O Read time: 0.73s
Parse time: 1.11s
ResolveModule time: 0.44s
ResolveTypeReference time: 0.01s
ResolveLibrary time: 0.02s
Program time: 2.60s
Bind time: 0.76s
Check time: 13.75s
printTime time: 0.00s
Emit time: 0.00s
Total time: 17.11s
🙁 Actual behavior
The type validation using tsc --noEmit increase more than 20 times using the version 5.4.2 comparing with the version 5.3.3.
In the CI is always hitting the heap memory limit:
🙂 Expected behavior
I expected the compilation to be equivalent in both versions, but it was more than 20 times slower.
Additional information about the issue
No response
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện phép so sánh tsc --noEmit đã được báo cáo trên dự án tạo ra các chẩn đoán, sử dụng TypeScript 5.3.3 và 5.4.2. So sánh các chẩn đoán mở rộng và cô lập nguyên nhân của sự gia tăng về thời gian kiểm tra, bộ nhớ và số lượng khởi tạo; được xem là hoàn tất khi đã xác nhận một hồi quy bằng một bản tái hiện tập trung hoặc một bài kiểm thử hồi quy và một bản sửa lỗi đã được xác thực.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- typescript
- Lĩnh vực
- compilers, performance
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100