में बाइटस्ट्रिंग को कुशलतापूर्वक चालू करें, मुझे SHA512 हैश के हेक्स प्रस्तुति देने में सक्षम होना आवश्यक था। शायद मैं काफी कठिन नहीं लग रहा था, लेकिन मुझे ऐसा करने के लिए हैकेज पर कोई भी फ़ंक्शन मिल सकता था। इसलिए मैंने unfoldrN
का उपयोग करके एक कार्यान्वयन लिखा। यह मेरे उद्देश्यों के लिए निश्चित रूप से पर्याप्त तेज़ है, लेकिन मुझे आश्चर्य है कि अगर कोई तेज दृष्टिकोण के बारे में जानता है।कुशलतापूर्वक एक हेक्स प्रतिनिधित्व
मैंने गिटूब पर एक क्रिया के रूप में अपना कार्यान्वयन किया है: https://gist.github.com/2356925। फ़ाइल में Numeric.showHex
, एक क्विक चेक परीक्षण और एक मानदंड बेंचमार्क के आधार पर एक सरल कार्यान्वयन भी शामिल है। बनाम unfoldrN
संस्करण सरल संस्करण के मेरे वर्तमान परिणाम हैं:
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
इसे कोई भी सुधार लाने के लिए एक चाकू ले जाना चाहते हैं?
http://whosawthatcoming.com/private/PMBFOGQIHT ब्लैम! – Will