- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这两种方法似乎在 Linux 内核代码中广泛使用。我知道分支预测的基础,但我想知道这两个函数如何影响 if() 语句的操作。它们还工作在 CPU 指令流水线级别吗?或者它处于内核代码级别更高的抽象级别?
作为 Linux 内核的初学者,我对了解这两种方法的内部工作原理非常感兴趣。谢谢!
最佳答案
在某些(微)架构上,编译器可以将分支提示编码到指令中,以告诉 CPU 分支预测单元是否可能采用该分支。
在其他架构上,分支预测单元的静态部分有足够的文档记录,可以使用它来生成更快的代码。例如,在大多数现代 x86 上,前向分支被静态预测为不被采用,而后向分支被预测为被采用(以实现更快的循环)。
最后,预测性缓存获取对于速度来说可能更重要。这主要取决于程序员,但对于指令缓存来说,如果编译器知道程序的哪一部分可能会被执行,并保持该部分足够小以适合缓存,那么它会有所帮助。
关于c - Linux内核: likely() vs unlikely(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369681/
我最近为我的漫画网站实现了自定义喜欢和不喜欢功能。我想让用户能够通过“取消单击”喜欢或不喜欢按钮来“收回”他们的选择。 我的函数的工作原理是: 1) Passing button value (id
我在 Linux 内核代码中遇到了这两个宏。我知道它们是编译器 (gcc) 的指令,用于在分支情况下进行优化。我的问题是,我们可以在用户空间代码中使用这些宏吗?它会提供任何优化吗?任何例子都会很有帮助
FB.Event.subscribe('edge.create', function(response) { alert ('liked!') } ); 如何查看反向 A
我想创建一个像 Facebook 和 Instagram 一样的喜欢/不喜欢功能。 这就是我正在做的事情 Boolean clicked = true; public void onLikeClic
我正在按照 youtube 上的教程为我的状态系统制作一个简单的喜欢/不喜欢按钮,我完成了大部分工作,但它不会更新我的喜欢,也不会将喜欢插入数据库,请帮我说怎么了,我已经尝试了很多了.. 获取状态的函
这个问题已经有答案了: How do the likely/unlikely macros in the Linux kernel work and what is their benefit? (1
我在 Tumblr 上添加了一个 Facebook Like 按钮博客(在模板中):iFrame 代码和 Open Graph标签。该按钮通常显示在每篇博客文章下方。当我单击该按钮时,它会将其状态更改
我如何向学生展示likely 和unlikely 编译器提示 (__builtin_expect) 的可用性? 你能写一个示例代码吗,与没有提示的代码相比,有这些提示的代码会快几倍。 最佳答案 这是我
我想在 codeigniter 中实现类似和不同的功能。我可以使用以下代码在普通的 php 中执行此操作,但我只是不明白为什么它在下面的 codeigniter 中不起作用是我的数据库表以及我的模型
在我的示例中,Google Chrome 36 似乎已损坏并且无法理解 top:50%。 IE 11、Opera 12.17 和 Firefox 31 运行良好。 Chrome 和 Safari 坏了
我了解 likely()/unlikely() 宏的工作原理,也了解分支预测。不幸的是,我没有在高级编程的背景下学习分支预测。 我想知道的是,如果 likely/unlikely 宏中的评估导致段错误
这应该很容易,但我有时间。为什么 ORDER BY with LIKE 会将匹配的结果排序为比不匹配的更高的值?为了获得我期望的结果,我必须在其他方面相同的数据上混合使用 ASC 和 DESC: cr
我一直在深入研究 Linux 内核的某些部分,发现了这样的调用: if (unlikely(fd < 0)) { /* Do something */ } 或 if (likely(!err)
我正在为我的网站实现我自己的喜欢/不喜欢系统。 PHP 部分已经完成并且一切正常,但我正在尝试使 Like/Unlike 过程与 jQuery 的 AJAX 方法完全异步。 我想要实现的是让用户按下赞
目标: 我正在尝试创建一个按钮,允许用户为网站上的帖子点赞(类似于 Facebook 的做法),这也会增加/减少点赞的数量除了按钮之外。 问题:除一种极端情况外,一切正常。如果用户已经喜欢该帖子,他可
我的应用程序目前允许用户喜欢和不喜欢他们 Feed 中的帖子,包括来自其他用户/ friend 的帖子。 当我启用 2013 年 2 月的重大更改时,我的应用程序仍然可以喜欢其他用户的帖子(POST
初步资料:根据近期ISO C++ Committee Trip Report ,条件分支的 [[ likely ]] 和 [[ unlikely ]] 属性将添加到 C++20 中,并且在最新版本的
如果我有: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0
我目前正在编写一个小型地理定位应用程序,与 Google Location History 非常相似. Android 手机定期将其位置发送到服务器,然后我可以在 map 上显示它们。我使用 Java
C++20 已经很方便 [[likely]]/[[unlikely]]指导代码生成的属性。例如,您可以指定一个分支可能被以下人员采用: if (b) [[likely]] { /*...*/ } 同样
我是一名优秀的程序员,十分优秀!