如何选择并实现高性能纠删码编码引擎(下)
发布时间:2021-01-16 03:22:47 所属栏目:安全 来源:网络整理
导读:副标题#e# 《如何选择并实现高性能纠删码编码引擎(下)》要点: 本文介绍了如何选择并实现高性能纠删码编码引擎(下),希望对您有用。如果有疑问,可以联系我们。 作者介绍: 徐祥曦,七牛云工程师,独立开发了多套高性能纠删码/再生码编码引擎.柳青,华中科技
由于使用了SSE与AVX这两种扩展指令集,我们需要避免AVX-SSETransitionPenalties[3].之所以会有这种性能惩罚主要是由于SSE指令对YMM寄存器的高位一无所知,SSE指令与AVX指令的混用会导致机器不断的执行YMM寄存器的高位保存与恢复,这大大影响了性能表现.如果对指令不熟悉,难以避免指令混用,那么可以在RET前使用VZEROUPPER指令来清空YMM寄存器的高位. 3.2指令级并行(ILP)优化程序分支指令的开销并不仅仅为指令执行所需要的周期,因为它们可能影响前端流水线和内部缓存的内容.我们可以通过如下技巧来减少分支指令对性能的影响,并且提高分支预测单元的准确性: 尽量少的使用分支指令 当贯穿(fall-through)更可能被执行时,使用向前条件跳转 当贯穿代码不太可能被执行时,使用向后条件跳转 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |