矢量化在Julia中的性能

矢量化在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

我可以将代码从[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 MB, 79.26% gc time)
为什么
vec运行速度比
newvec快在这种情况下

有什么区别


(我多次尝试了相同的代码,但结果都是一样的)

您使用的是Julia的哪个版本?您链接到的基准是针对v0.6的,展示了v0.5中不存在的新功能。我使用的是0.5.1,这是否意味着基准测试报告了错误?否,这只是意味着你使用了错误的Julia版本来重现这些基准。这种快速融合的矢量化是0.6中的一个新特性。您可以等待发布,也可以尝试alpha。