Phiên bản .NET Core 2.0 đã cải tiến 1 số phần làm cho hiệu suất làm việc được nhanh hơn. .NET Core 2.0 là phiên bản nhanh nhất so với các phiên bản trước đó(Hiện tại đã có version 2.1) và có thể chạy trên nhiều nền tảng bao gồm các bản phân phối Linux distros, macOS (hệ điều hành) và Windows.
.NET Core 2.0 cải thiện hiêu suất như thế nào?
NET Core là đang phát triển mạnh mẽ hơn và hiệu quả hiệu quả hơn, vì nó là mã nguồn mở, các team Microsoft với các thành viên cộng đồng khác đang mang lại nhiều cải tiến hơn về hiệu suất.
Sau đây là những cải tiến một phần của .NET Core 2.0.
1. Trình biên dịch RyuJIT trong .NET Core (RyuJIT compiler in .NET Core)
RyuJIT là một trình biên dịch JIT thế hệ tiếp theo của .NET, là một trình biên dịch (compiler ) viết lại hoàn toàn trình biên dịch Just In Time (JIT) và tạo ra mã nguồn máy có hiệu quả hơn rất nhiều so với trình biên dịch trước đây.
Nó nhanh gấp hai lần so với trình biên dịch 64 bit trước đó và cung cấp trình biên dịch nhanh hơn 30%. Ban đầu, RyuJIT chỉ chạy trên các kiến trúc X64,
nhưng bây giờ RyuJIT hỗ trợ X86 và các developer có thể sử dụng trình biên dịch RyuJIT cho cả X64 và X86. .NET Core 2.0 sử dụng RyuJIT cho cả hai nền tảng X86 và X64.
2. Tối ưu hóa thời gian biên dịch (Profile guided optimization)
(Profile-guided optimization (PGO)) là một công nghệ biên dịch được sử dụng bởi trình biên dịch C ++ để tạo mã được tối ưu hóa cao nhất.
Nó áp dụng cho các thành phần nội bộ được compilation nội bộ của thời gian chạy và JIT. Được thực hiện compilation theo hai bước, như sau:
B1: Ghi lại thông tin về thực thi mã.
B2: Từ thông tin này compilation tạo ra mã tốt hơn.
Trong .NET Core 1.1, Microsoft phát hành PGO cho kiến trúc Windows X64 nhưng trong .NET Core 2.0 đã được bổ sung hỗ trợ cho Windows X64 và X86.
Theo kết quả thống kê, DLL hỗ trợ cho Windows là : coreclr.dll và clrjit.dll.
Ngoài ra trên Linux có libcoreclr.so và libclrjit.so.
RyuJIT hiệu quả hơn trong việc tạo mã so với trình biên dịch JIT cũ (JIT32)
3. Đóng gói thư viện 1 cách đơn giản nhất.
Với .NET Core, các bạn có thể thêm các library vào project từ NuGet. Các library của bên thứ ba cũng add từ NuGet.
Với một project lớn cần add nhiều library thì điều này mất thời gian của bạn hãy để thời gian làm các phần khác nhiều hơn cho nên .NET Core 2.0 đã đơn giản hóa cho phép bạn add một gói library duy nhất chứa tất cả các assembly đã được liên kết đóng gói sẵn.
Ví dụ, nếu bạn muốn add .NET Core 2.0 vào project, bạn chỉ cần add một package duy nhất: "Microsoft.AspNetCore.All" sử dụng NuGet để add.
Sau đây là CLI(Comment Line Interface) sẽ cài đặt library vào project của bạn:
Install-Package Microsoft.AspNetCore.All -Version 2.0.0