java sse实例_关于Java:优化SSE代码
我目前正在为需要一些性能改进的Java应用程序开发C模块(请参阅提高网络编码编码的性能)。 我试图使用SSE内在语言优化代码,并且其执行速度比Java版本(?20%)要快一些。 但是,它仍然不够快。
不幸的是,我在优化C代码方面的经验有限。 因此,我很乐意就如何改善当前的实施方式获得一些想法。
构成热点的内部循环如下所示:
for (i = 0; i < numberOfGFVectorsInFragment; i++) {
// Load the 4 GF-elements from the message-fragment and add the log of the coefficeint to them.
__m128i currentMessageFragmentVector = _mm_load_si128 (currentMessageFragmentPtr);
__m128i currentEncodedResult = _mm_load_si128(encodedFragmentResultArray);
__m128i logSumVector = _mm_add_epi32(coefficientLogValueVector, currentMessageFragmentVector);
__m128i updatedResultVector = _mm_xor_si128(currentEncodedResult, valuesToXor);
_mm_store_si128(encodedFragmentResultArray, updatedResultVector);
encodedFragmentResultArray++;
currentMessageFragmentPtr++
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
