fix(ch17-03): correct iteration count from 1000 to 999 in the yielding example

pull/897/head
cubewhy 5 days ago
parent 7fe0774843
commit aa1a6e8016
No known key found for this signature in database
GPG Key ID: B39A87A29B131474

@ -383,7 +383,7 @@ copy just the output
这不仅更为清楚地表明了实际的意图而且更显著地快于使用 `sleep`,因为像这样使用 `sleep` 的定时器通常受限于其控制粒度。例如我们使用的 `sleep` 版本,会至少休眠一毫秒,哪怕我们传递一纳秒的 `Duration`。而且,现代计算机非常 *快速*:它们可以在一毫秒内完成很多工作!
你可以自行设置一些基准测试来验证这一点,例如示例 17-26 中的这个。(这并不是一个特别严谨的进行性能测试的方法,不过用来展示这里的区别是足够的。)这里,我们省略了所有的状态打印,传递一纳秒的 `Duration``trpl::sleep`,并让每一个 future 各自运行,不在 future 之间切换。接着我们运行 1000 次迭代并对比下使用 `trpl::sleep` 的 future 和使用 `trpl::yield_now` 的 future 的运行时间。
你可以自行设置一些基准测试来验证这一点,例如示例 17-26 中的这个。(这并不是一个特别严谨的进行性能测试的方法,不过用来展示这里的区别是足够的。)这里,我们省略了所有的状态打印,传递一纳秒的 `Duration``trpl::sleep`,并让每一个 future 各自运行,不在 future 之间切换。接着我们运行 999 次迭代并对比下使用 `trpl::sleep` 的 future 和使用 `trpl::yield_now` 的 future 的运行时间。
<figure class="listing">

Loading…
Cancel
Save