2013-07-02 29 views
8

Thường thì tôi muốn so sánh hiệu suất thời gian chạy của nhiều triển khai của cùng một chức năng. Đối với đầu vào riêng lẻ, tiêu chí là một công cụ tốt.Chạy các tiêu chuẩn Haskell trên các đầu vào có kích thước khác nhau

Nhưng cách dễ dàng để vẽ hiệu suất của mã trên kích thước đầu vào khác nhau, ví dụ: để xem sự phức tạp về thuật toán?

Lý tưởng nhất, tôi chuyển giá trị của loại Benchmarkable r => [(String, Int -> r)], tức là danh sách các tiêu chí phụ thuộc vào kích thước và thư viện sẽ tự động tìm phạm vi nhập hợp lý cho mỗi giá trị và tạo một âm mưu đẹp từ nó.

Trả lời

8

ví dụ: để xem sự phức tạp về thuật toán?

Có một gói cho rằng:

http://hackage.haskell.org/package/complexity

Tuy nhiên, tôi thường sử dụng QuickCheck để lái thử nghiệm với kích thước dữ liệu ngẫu nhiên, sau đó âm mưu kết quả.

+2

Quá tệ, có vẻ như gói đã bị phân phối một chút; hstats phụ thuộc của nó không xây dựng trong GHC 7,6. –

+0

Bạn đang nói với tôi, tôi vá một năm trước ... nhưng không khó để sửa chữa, cho bất cứ ai khác đọc - chỉ nhận được phiên bản từ github cho đến khi tác giả tải lên phiên bản mới (một số thời gian năm 2014 có lẽ?) –

Các vấn đề liên quan