NEWS

[C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method

[C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
Đăng bởi: Thảo Meo - Lượt xem: 2426 09:15:54, 17/06/2023C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ hướng dẫn các bạn sử dụng thư viện BenchmarkDotNet để đo hiệu năng của từng hàm method trên lập trình C#.

[C#] How to use BenchmarkDotNet Library

BenchmarkDotNet là một thư viện mã nguồn mở được sử dụng để đo lường và so sánh hiệu suất của mã trong ngôn ngữ lập trình C#.

Được thiết kế để đơn giản hóa quá trình benchmarking, BenchmarkDotNet cung cấp cho bạn các công cụ và tính năng mạnh mẽ để tiến hành các bài đo lường hiệu suất chính xác và nhất quán.

Một trong những lợi ích lớn nhất của BenchmarkDotNet là khả năng tự động hoá quá trình benchmarking.

Thay vì phải viết mã thủ công để đo lường thời gian thực thi của các phương thức, bạn chỉ cần chú thích các phương thức của mình với các thuộc tính BenchmarkDotNet và thư viện sẽ tự động thực hiện quá trình benchmarking cho bạn.

Điều này giúp bạn tiết kiệm thời gian và công sức trong việc xây dựng các bài đo lường hiệu suất phức tạp.

BenchmarkDotNet cung cấp một loạt các thuộc tính và tùy chọn để tùy chỉnh quá trình benchmarking.

Bạn có thể định cấu hình số lần lặp, mức độ chính xác của đo lường, kiểm soát quá trình khởi động trước và sau mỗi benchmark, và nhiều hơn nữa. Nó cũng hỗ trợ việc đo lường bộ nhớ và các thống kê khác để bạn có cái nhìn toàn diện về hiệu suất của mã của mình.

Các kết quả benchmark được trình bày một cách rõ ràng và dễ đọc.

BenchmarkDotNet cung cấp biểu đồ, bảng và các thông số thống kê để bạn có thể dễ dàng so sánh và phân tích kết quả.

Bạn có thể tìm hiểu về sự khác biệt hiệu suất giữa các phiên bản của mã, giữa các thuật toán khác nhau hoặc giữa các phiên bản của .NET Framework.

Ngoài ra, BenchmarkDotNet cũng hỗ trợ việc so sánh hiệu suất trên các nền tảng khác nhau như .NET Framework và .NET Core.

Bạn có thể đo lường và so sánh hiệu suất trên các phiên bản khác nhau của .NET hoặc giữa các nền tảng khác nhau để tìm ra các điểm yếu và tối ưu hóa mã của mình cho từng môi trường.

Video demo test Benchmark:

Để sử dụng đầu tiên các bạn cần cài đặt thư viện BenchmarkDotNet từ nuget.

PM> NuGet\Install-Package BenchmarkDotNet -Version 0.13.5

Ví dụ, ở bên dưới đây chúng ta có 3 function dùng để tính tổng từ 0 đến 100000.

public void MethodSumUsingFor() {
    var k = 0;
    for (int i = 0; i <100000; i++)
    {
        k += i;
    }
}


public void MethodSumUsingForParallel()
{
    var k = 0;
    Parallel.For(0, 100000, (i) =>
    {
        Interlocked.Add(ref k, i);
    });
}


public void MethodSumUsingLinq()
{
    int sum = Enumerable.Range(0, 100000).Sum();
}

Ở 3 hàm tính tổng trên chúng ta sử dụng: For, Parallel.For và Linq để xem test hiệu năng của 3 em trai này.

test_benchmark

Khi chạy chúng ta sẽ được kết quả như hình ở trên.

 

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
Đăng bởi: Thảo Meo - Lượt xem: 2426 09:15:54, 17/06/2023C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.