【发布时间】:2010-12-22 10:33:18
【问题描述】:
经常检查返回类型是否有错误。但是,将继续执行的代码可以以不同的方式指定。
if(!ret)
{
doNoErrorCode();
}
exit(1);
或
if(ret)
{
exit(1);
}
doNoErrorCode();
重量级 CPU 可以使用简单的统计数据推测在附近/本地获取的分支的一种方式 - 我研究了一种用于分支推测 (-2,-1,0,+1,+2) 的 4 位机制,其中 0 是unknown 和 2 将被视为真正的分支。
考虑到上面的简单技术,我的问题是关于如何构建代码。我假设主要编译器和主要架构之间必须有一个约定。这是我的两个问题
- 当代码不是一个经常访问的循环时,在填充管道时哪个布尔值有偏差?
- 关于分支的推测必须从真或假或零开始(管道必须充满某些东西)。可能是哪个?
【问题讨论】:
标签: c compiler-construction cpu-architecture micro-optimization