矢量化在Julia中的性能
我可以将代码从[1]:中的矢量化在Julia中的性能,julia,Julia,我可以将代码从[1]:中的复制到[6]:中的 基准测试显示newvec比vec运行得更快 然而,运行 @time vec!(X); @time devec!(X); @time newvec!(X); 给予 0.056178 seconds (29 allocations: 91.554 MB, 20.38% gc time) 0.006899 seconds (4 allocations: 160 bytes) 0.124931 seconds (22 allocations: 53.407
复制到[6]:
中的
基准测试显示newvec代码>比vec运行得更快代码>
然而,运行
@time vec!(X);
@time devec!(X);
@time newvec!(X);
给予
0.056178 seconds (29 allocations: 91.554 MB, 20.38% gc time)
0.006899 seconds (4 allocations: 160 bytes)
0.124931 seconds (22 allocations: 53.407 MB, 79.26% gc time)
为什么vec代码>运行速度比newvec快代码>在这种情况下
有什么区别
(我多次尝试了相同的代码,但结果都是一样的)您使用的是Julia的哪个版本?您链接到的基准是针对v0.6的,展示了v0.5中不存在的新功能。我使用的是0.5.1,这是否意味着基准测试报告了错误?否,这只是意味着你使用了错误的Julia版本来重现这些基准。这种快速融合的矢量化是0.6中的一个新特性。您可以等待发布,也可以尝试alpha。