wip: 2024 edition

pull/875/head
KaiserY 2 weeks ago
parent 88738f4075
commit 5d74807ae3

@ -14,7 +14,7 @@ test bench_search_iter ... bench: 19,234,900 ns/iter (+/- 657,200)
两种实现具有相似的性能表现!这里我们不会解释性能测试的代码,我们的目的并不是为了证明它们是完全等同的,而是得出一个怎样比较这两种实现方式性能的基本思路。
对于一个更全面的性能测试,你应该使用不同大小的文本作为 `contents`,不同的单词以及长度各异的单词作为 `query`,以及各种其他变化进行检查。关键在于:迭代器,作为一个高级的抽象,被编译成了与手写的底层代码大体一致性能的代码。迭代器是 Rust 的**零成本抽象***zero-cost abstractions*之一它意味着抽象并不会引入额外的运行时开销它与本贾尼·斯特劳斯特卢普C++ 的设计和实现者)在 《Foundations of C++》2012中所定义的**零开销***zero-overhead*)如出一辙:
对于一个更全面的性能测试,你应该使用不同大小的文本作为 `contents`,不同的单词以及长度各异的单词作为 `query`,以及各种其他变化进行检查。关键在于:迭代器,作为一个高级的抽象,被编译成了与手写的底层代码大体一致性能的代码。迭代器是 Rust 的**零成本抽象***zero-cost abstractions*之一它意味着抽象并不会引入额外的运行时开销它与本贾尼·斯特劳斯特卢普C++ 的设计和实现者在《Foundations of C++》2012中所定义的**零开销***zero-overhead*)如出一辙:
> In general, C++ implementations obey the zero-overhead principle: What you don't use, you don't pay for. And further: What you do use, you couldn't hand code any better.
>

Loading…
Cancel
Save