我编写了一个程序来使用Repa处理大量数据样本。性能是该程序的关键。大部分操作需要多维数组上的并行映射/折叠,Repa
非常适合此操作。但是,我的程序中仍有一部分只使用一维数组并且不需要并行性(即并行性的开销会损害性能)。其中一些操作需要带有自定义累加器的take
or s 之类的函数,而这些函数不支持。所以我自己通过遍历数组来编写这些操作。fold
Repa
Repa
我是否最好使用Vector而不是重写这些操作Repa
?它们会带来更好的性能吗?
我在某处读到一维Repa
数组被实现为Vector
s 'under the hood' 所以我怀疑这会带来Vector
更好的性能。另一方面,Vector
确实有一些不错的内置函数,我可以使用它们而不是自己编写它们。