Tôi cần có khả năng trình bày hex của hàm băm SHA512. Có lẽ tôi đã không nhìn đủ cứng, nhưng tôi có thể tìm thấy bất kỳ chức năng nào trên Hackage để làm điều đó. Vì vậy, tôi đã viết một triển khai sử dụng unfoldrN
. Nó chắc chắn đủ nhanh cho mục đích của tôi, nhưng tôi tự hỏi liệu có ai biết cách tiếp cận nhanh hơn không.Bật hiệu quả ByteString thành một biểu diễn hex
Tôi đã thực hiện triển khai trên Github dưới dạng gist: https://gist.github.com/2356925. Tệp cũng bao gồm triển khai đơn giản dựa trên Numeric.showHex
, kiểm tra QuickCheck và điểm chuẩn tiêu chí. Các kết quả hiện tại của tôi về phiên bản đơn giản so với phiên bản unfoldrN
là:
benchmarking simple
mean: 4.677296 ms, lb 4.656011 ms, ub 4.696684 ms, ci 0.950
std dev: 104.2791 us, lb 87.77023 us, ub 128.1627 us, ci 0.950
found 5 outliers among 100 samples (5.0%)
4 (4.0%) low mild
variance introduced by outliers: 15.195%
variance is moderately inflated by outliers
benchmarking unfoldrN_MS1
mean: 370.0101 us, lb 365.9819 us, ub 373.8619 us, ci 0.950
std dev: 20.17016 us, lb 16.92772 us, ub 24.08982 us, ci 0.950
found 14 outliers among 100 samples (14.0%)
7 (7.0%) low mild
7 (7.0%) high mild
variance introduced by outliers: 52.467%
variance is severely inflated by outliers
Bất kỳ ai muốn tiến hành cải thiện nó?
http://whosawthatcoming.com/private/PMBFOGQIHT BLAM! – Will