![]() |
1
3
一个基准评注:使用
我在你的微基准测试中添加了一些额外的循环,以使它做更多的工作(并且我修复了
使用
使用
我的假设是:这是GC开销。当支持向量发生变异时,Racket的分代GC会记住该向量,以便在下一个次要集合中扫描它。当支持向量非常大时,在每个次要GC上扫描整个向量会超过重新分配和复制的成本。如果GC具有更好的记忆集粒度(但……权衡),则不会产生开销。 顺便说一句,通过查看gvector代码,我发现了一些改进的机会。不过,它们并没有改变大局。 |
![]() |
2
1
用因子10增加向量大小,我在DrRacket中得到以下结果 (关闭所有调试):
注意:如果第一个基准测试留下了垃圾,它可能会影响下一个基准测试。因此,在再次使用之前,使用收集垃圾(三次)。 另外…不要像我一样在DrRacket中进行基准测试-使用命令行。 |
|
wavesinaroom · 断言结构向量长度 5 月前 |
![]() |
Amarth Gûl · 找到一组向量的最近收敛点 5 月前 |
![]() |
P_B · 如何从矩阵中减去均值向量 10 月前 |
![]() |
TheEagle · 根据迭代器的顺序向前或向后迭代 10 月前 |
![]() |
Mary Ann Moody · 如何创建一个包含2个元素的向量? 11 月前 |
![]() |
Chris · 如何在OpenSCAD中的FOR循环中成对创建矢量元素 1 年前 |