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++


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部