gpt4 book ai didi

c - 在简单的 c 计算上搜索一些优化

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:06 24 4
gpt4 key购买 nike

我目前正在寻找一个简单的 c 计算的优化,我现在有 2 个解决方案,但我不知道哪个会有最好的性能:

代码 1:

u32_tmp = 0x01FFBBAA; //Random value...
tab[0] = (u32_tmp & 0xFC00000) >> 18;
tab[1] = (u32_tmp & 0x3F000) >> 12 ;
tab[2] = (u32_tmp & 0xFC0) >> 6 ;
tab[3] = u32_tmp & 0x3F;

代码 2:

u32_tmp = 0x01FFBBAA; //Random value...
tab[3] = u32_tmp & 0x3F;
u32_tmp>>=6;
tab[2] = u32_tmp & 0x3F;
u32_tmp>>=6;
tab[1] = u32_tmp & 0x3F;
u32_tmp>>=6;
tab[0] = u32_tmp & 0x3F;

在您看来,哪一个是“最好的”?

最佳答案

在我看来,

Code 1Code 2 更清楚地显示了您从值中提取的位。那是我选择的那个。

如果性能至关重要,优化编译器很有可能会将这两个片段转换为类似的汇编代码 - 但如果这比代码可读性更重要,您可以查看在这两种情况下生成的汇编代码和/或对这两个变体进行性能测试。

关于c - 在简单的 c 计算上搜索一些优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19051887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com