Installation Netlogo基准测试

Installation Netlogo基准测试,installation,benchmarking,netlogo,Installation,Benchmarking,Netlogo,我对从命令行运行Netlogo有点生疏,以前从未使用过基准测试功能。这似乎很有希望 我完全是一开始,因为NetLogo 6.0似乎与5.0有些不同 我正在尝试运行基准测试套件: 现在,我从网站下载了一些文件 并在我的NetLogo 6.0目录中创建了2个目录 NetLogo 6.0/models/tests 及 NetLogo 6.0/models/benchmarks 并将中的文件放入我的基准目录 在网站上,它说运行/sbt,然后运行main org.nlogo.headless.headle

我对从命令行运行Netlogo有点生疏,以前从未使用过基准测试功能。这似乎很有希望

我完全是一开始,因为NetLogo 6.0似乎与5.0有些不同

我正在尝试运行基准测试套件:

现在,我从网站下载了一些文件

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

NetLogo 6.0/models/tests

NetLogo 6.0/models/benchmarks

并将中的文件放入我的基准目录

在网站上,它说运行
/sbt
,然后
运行main org.nlogo.headless.headless Benchmarker官僚机构
,然而,我是n00bish,没有命令。/sbt设置。我在网上看到这是一个通用的扩展安装程序命令,但我不确定该怎么做…对不起。所以我现在的问题是,我接下来要做什么才能让它启动并运行

从文档方面来看,我认为可能需要澄清的是,
/models/test/benchmarks/
中应该有一个名为
“官僚基准.nlogo”
的文件,我没有意识到驱动程序在提供的名称后面附加了
“Benchmark.nlogo”
。如果文件名为
“Benchmark.nlogo”

我还没有开始,但是我们有没有办法调用基准目录中的所有基准?文档中有对它的引用,但我没有看到任何命令

让我知道你的想法,并感谢任何帮助

编辑:按照Bryan的建议,在从git下载回购协议后,我运行了./sbt,得到了以下错误

[错误](run-main-0)java.lang.ClassNotFoundException: org.nlogo.headless.headless基准测试者 java.lang.ClassNotFoundException: org.nlogo.headless.HeadlessBenchmarker位于 findClass(ClassLoader.java:530)位于 loadClass(ClassLoader.java:424)[跟踪]堆栈 禁止跟踪:对完整输出运行最后一个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本身(这就是我们所说的),则需要从github:签出NetLogo存储库。您可能想这样做的唯一原因是,如果您正计划为核心NetLogo代码做贡献,或者正在进行扩展或其他工作

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

setup reset-timer repeat 1000 [ go ] print timer
这将告诉您模型执行1000次滴答需要多长时间。所以,运行几次,修改您的模型,然后再运行几次,这将让您了解更改是如何影响性能的


要获得更深入的基准测试和评测,请使用扩展。这将使程序崩溃,告诉您每个过程需要多长时间等等。

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

编辑:

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

如果NetLogo本身(这就是我们所说的),则需要从github:签出NetLogo存储库。您可能想这样做的唯一原因是,如果您正计划为核心NetLogo代码做贡献,或者正在进行扩展或其他工作

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

setup reset-timer repeat 1000 [ go ] print timer
这将告诉您模型执行1000次滴答需要多长时间。所以,运行几次,修改您的模型,然后再运行几次,这将让您了解更改是如何影响性能的


要获得更深入的基准测试和评测,请使用扩展。这将使您的程序崩溃,告诉您每个过程需要多长时间等等。

我已经用当前正确的命令更新了wiki页面。(我将
runMain
更改为
headless/runMain

我们有没有办法调用基准目录中的所有基准


我认为如果你没有通过一个基准测试名称,它会这样做。。。?值得一试。(如果你找到了,请更新wiki页面。)

我已经用当前正确的命令更新了wiki页面。(我将
runMain
更改为
headless/runMain

我们有没有办法调用基准目录中的所有基准


我认为如果你没有通过一个基准测试名称,它会这样做。。。?值得一试。(如果你找到答案,请更新wiki页面。)

我正计划将一些原语与Netlogo方面的一些替代实现进行基准测试。例如,“in radius”会拉出一个正方形并对其进行过滤。与Netlogo的4r^2相比,现在有更多的算法可以计算pi*r^2中的结果。我认为通过使用