如何在 Julia 的单个脚本中使用同一模块的多个不同版本或分支?
例如如果我想对每个标记的版本进行基准测试。
(最近有人问了类似的问题,我回答错了,不过这可能还是有用的。)
编辑:我自己回答了这个问题,但我相信他们可能是更好的方法!
最佳答案
您可以直接 git checkout 模块的不同版本,然后使用 benchmarkTools.jl 进行基准测试。然而,使用多个脚本可能会更好(或者至少忽略第一次试用)(有关更多信息,请参阅此评论 Importing multiple versions of the same Module/Package for Benchmarking)。
例如
packagedir = Pkg.dir("DSP")
version2checkout = "v0.0.7"
run(`cd $packagedir`); run(`git checkout tags/$version2checkout`)
import DSP
# do all your benmarking stuff
# start again
防止您不得不复制模块,但我猜还是有点笨拙。 您甚至可以通过捕获 git 标签的输出在多个版本的循环中执行此操作
for i in readlines(`git tag`)
version2checkout = chomp(i)
# checkout version and benchmark
end
关于git - 导入模块的多个版本/分支以在 Julia 中进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39225066/