Netlogo 基准测试

马萨普

我对从命令行运行 Netlogo 有点生疏,以前从未使用过基准测试功能。看起来很有希望。=)

我完全是在开始,因为看起来 NetLogo 6.0 可能与 5.* 有点不同。

我正在尝试运行基准测试套件:https : //github.com/NetLogo/NetLogo/wiki/Benchmarking

现在,我从http://ccl.northwestern.edu/netlogo/models/models/test/benchmarks/下载了一些文件

并在我的 NetLogo 6.0 目录中创建了 2 个目录

NetLogo 6.0/模型/测试

NetLogo 6.0/模型/基准

并将http://ccl.northwestern.edu/netlogo/models/models/test/benchmarks/ 中的文件放入我的 benchmarks 目录中。

在网站上,它说运行./sbt然后run-main org.nlogo.headless.HeadlessBenchmarker Bureaucrats但是,我是 n00bish 并且没有命令 ./sbt setup。我在网上看到这是一个通用的扩展安装程序命令,但不确定如何处理它......对不起。所以我现在的问题是,下一步我该怎么做才能启动并运行它?

从文档方面来看,我认为可能需要澄清一下,/models/test/benchmarks/named 中应该有一个文件"Bureaucrats Benchmark.nlogo"我没有意识到驱动程序附加" Benchmark.nlogo"到提供的名称。<name>如果文件被调用,将 提供给 org.nlogo.headless.HeadlessBenchmarker可能很有用"<name> Benchmark.nlogo"

我还没有接触到它,但是有什么方法可以让我们调用 benchmarks 目录中的所有基准测试吗?文档中有对它的引用,但我没有看到任何命令。

让我知道您的想法,任何帮助表示赞赏!

编辑:从 git 下载 repo 后,正如 Bryan 建议的那样,我运行了 ./sbt 并收到以下错误。

[错误] (run-main-0) java.lang.ClassNotFoundException: org.nlogo.headless.HeadlessBenchmarker java.lang.ClassNotFoundException: org.nlogo.headless.HeadlessBenchmarker at java.lang.ClassLoader.findClass(ClassLoader.java:530 ) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) [trace] 堆栈跟踪被抑制:运行 last root/compile:runMain 以获得完整输出。java.lang.RuntimeException:非零退出代码:1 at scala.sys.package$.error(package.scala:27​​) [trace] 堆栈跟踪被抑制:运行最后一个 root/compile:runMain 以获得完整输出。[错误] (root/compile:runMain) 非零退出代码:1 [错误] 总时间:2 秒,完成 2017 年 4 月 10 日下午 2:16:21

布莱恩·海德

./sbt包含在 NetLogo 存储库中。就是这个文件。如果需要,运行它将安装 sbt(和 scala)本身。运行它时,请确保您位于 NetLogo 存储库的根目录中。

编辑:

等等,澄清一下,您是在尝试对自己的模型还是 NetLogo 本身进行基准测试?

如果 NetLogo 本身(这就是https://github.com/NetLogo/NetLogo/wiki/Benchmarking所谈论的),您需要从 github 签出 NetLogo 存储库:https://github.com/NetLogo/NetLogo您可能想要这样做的唯一原因是您是否计划为核心 NetLogo 代码做出贡献或正在开发扩展或其他东西。

对于仅对您自己的模型进行基准测试,您不想做任何这些。通常,最好在 NetLogo 程序中而不是在命令行中进行基准测试。最简单的基准测试方法是做这样的事情:

setup reset-timer repeat 1000 [ go ] print timer

这将告诉您模型执行 1000 个滴答需要多长时间。因此,运行几次,修改您的模型,然后再运行几次,这将使您了解您的更改如何影响性能。

如需更深入的基准测试和分析,请使用分析器扩展。这将分解您的程序,告诉您每个程序需要多长时间等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章