【文件属性】:
文件名称:伊特普
文件大小:5KB
文件格式:ZIP
更新时间:2021-02-10 04:21:59
C++
Iter ++
目标
在C ++中使用零成本迭代器进行的实验。
这个想法是使锈像c ++中的迭代器。 主要目标:
与for循环相比,没有运行时开销,
以rust的迭代器API为灵感,
尝试在使用高级构造时获得不错的性能。
当前状态
到目前为止,尚未实现目标:
有运行时间成本,
地图上需要一些模板规范。
这是一个很好的起点。
目前,在一个糟糕的基准测试中,初始成本似乎不为零,而且奇怪的是,迭代器在AMD系统上的开销较小。
在Intel i5-7300HQ GCC上的结果:
基准
迭代(平均µs)
持续(平均µs)
迭代性能
主要
955242
694747
72%
非目标
运行时成本为零意味着必须将迭代转换为for类似的结构。 这可以通过许多模板和优化来完成,这会使编译速度变慢。
【文件预览】:
iterpp-master
----include()
--------iterpp.hpp(4KB)
----LICENSE(1KB)
----benchmarks()
--------primes.cpp(3KB)
--------Makefile(304B)
----.gitignore(40B)
----README.md(1KB)