【问题标题】:What is fast path, slow path, hot path什么是快路径、慢路径、热路径
【发布时间】:2021-08-27 02:07:48
【问题描述】:

我一直在阅读 Go 源代码,其中出现了很多 fast path、slow path、hot path 三个术语。

那么,我的问题是,fast path,slow path,hot path 到底是什么?这些术语是 Go 独有的吗?

【问题讨论】:

  • 这些不是什么具体的东西,只是解释代码中的一些逻辑。
  • 您可以随时使用在线浏览器搜索并分享结果cs.opensource.google/…
  • @mh-cbon 谢谢,我已经用搜索结果链接替换了图片

标签: go


【解决方案1】:

快速路径是快速路径(即做更少的工作),而慢速路径是缓慢路径(即做更多工作)。例如,向 hashmap 添加值时,将值粘贴到空桶中是快速路径,同时增加桶的数量,将所有值复制到它们的新位置,然后插入新值是慢路径。添加浮点数时,其中一个是非正规数的情况是一条慢路径,比普通数的路径慢很多倍。 “路径”的概念表明,对于给定的功能,任何一种都可能发生,这取决于环境或所提供的价值;这不是快或慢的选择。

“热”路径是大多数时间使用的路径,而“冷”路径是很少使用的路径。热路径是优化的好目标,因为它们是程序花费大部分时间的地方。当热路也是快路,慢路也是冷路时,幸福就会发生。

这些都不是 Go 特有的;这是计算中的常用术语。

【讨论】:

  • 快速路径的优点是: - 许多调用完全绕过反射
猜你喜欢
  • 2020-11-16
  • 2014-08-02
  • 1970-01-01
  • 2011-11-25
  • 2016-10-15
  • 2012-08-19
  • 2020-12-04
  • 2020-10-30
  • 1970-01-01
相关资源
最近更新 更多