gpt4 book ai didi

c# - 传授预测 C# 或 C++ 分支语句的专家知识

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:57 25 4
gpt4 key购买 nike

我知道一些 CPU 在决定预取什么代码时会尝试预测分支语句,我想知道是否有办法在 C#(或 C++)中帮助或硬编码这些分支预测。一个例子是错误检查 if 语句,我知道它会在 99.9999999% 的时间内返回 false,我想告诉 CPU 始终期望该分支永远不会发生用于预取目的。

谢谢。

最佳答案

据我所知,没有针对此问题的跨平台解决方案。我希望 C# VM 会进行某种运行时分析来优化这些类型的预测,尽管我并不知道这一点。

对于 C/C++,有一些特定于平台的工具可以帮助优化这一点。您通常可以为代码找到配置文件引导的优化器。我知道 gcc 和 g++ 支持这一点,并且它可以对净程序性能产生很大的影响。 gcc 还支持名为 __builtin_expect 的特定于编译器的扩展,它允许您在关于分支预测的假设中进行硬编码:

if (__builtin_expect(x == 0, 0)) { // Unlikely to occur
/* ... */
}

关于c# - 传授预测 C# 或 C++ 分支语句的专家知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771368/

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