有沒有人開發JNI綁定來從Java調用OpenSSL的哈希函數?你可以從Java調用OpenSSL的哈希基元嗎?
我知道Java內置了散列函數。問題是這些運行速度只有OpenSSL本機實現的三分之一。有一個OpenSSL-Java project on sourceforge,但它沒有要下載的文件。
我的目標實際上不是調用OpenSSL,而是爲了克服Java關於哈希的次優性能。
有沒有人開發JNI綁定來從Java調用OpenSSL的哈希函數?你可以從Java調用OpenSSL的哈希基元嗎?
我知道Java內置了散列函數。問題是這些運行速度只有OpenSSL本機實現的三分之一。有一個OpenSSL-Java project on sourceforge,但它沒有要下載的文件。
我的目標實際上不是調用OpenSSL,而是爲了克服Java關於哈希的次優性能。
嘗試https://www.nayuki.io/page/native-hash-functions-for-java他們實現散列函數在c
,x86 assembly
和x86-64 assembly
加速可達1.68×的SHA-256,但我看到小文件沒有區別。
所以如果你傾向於使用小文件,我建議堅持用java。
我堅信你必須編寫一個C例程,它不僅計算散列值,而且還執行文件IO。不要忘記使用內存映射IO來提高速度,否則限制部分就是複製緩衝區。
顯然你可以但是這是因爲JNI你沒有得到性能提升。
您可以舉一些Java散列實現中性能較差的例子嗎?這種哈希與身份驗證沒有任何關係,是嗎?在認證中,你需要*慢*散列。 – 2011-01-12 17:37:29
您確定這段代碼會導致應用程序出現性能問題嗎?如果不是,那麼通過加快速度就沒有任何好處。 – time4tea 2011-01-12 17:57:39