在提高NetLogo模型的性能方面,最好使用尽可能多的程序进行编码,或者例如......
(为非常粗略的例子道歉,对编码不熟悉)
我问这个问题是因为当用很多命令编写相当复杂的程序时,它看起来像#34;很多程序的编码很多。
许多程序
to move
forward
turn
end
to forward
fd 1
end
to turn
rt random 10
lt random 10
end
OR
少程序
to move
fd 1
rt random 10
lt random 10
end
干杯,
哈里·
答案 0 :(得分:2)
这种类型的组织对性能几乎没有任何影响。性能问题几乎总是由于算法问题(例如,要求所有的海龟都要求所有补丁,当你真的只需要问所有补丁时)而不是代码组织。
我强烈建议您始终将代码组织为尽可能可读。这样可以更容易地发现算法问题,帮助您找出性能不佳的真正原因。
最后,您应该查看profiler extension。它带有NetLogo。它将精确地分解每个程序所花费的时间以及每个程序的调用量。这将帮助您识别代码中存在问题的点,并确定代码的特定更改是否可以提高性能。如果您将代码组织到许多过程中,则分析器将能够为您提供更精细的结果。但请注意,您可能很容易因为有许多程序而过度使用,并且会影响可读性。
对于代码组织,可读性应始终是第一优先级。有时,您可能必须实现一种因功能或性能原因而更复杂的算法,因此可能更难以阅读。有些算法很难推理,因此本质上难以阅读。您仍然应该在组织算法实现时尽力而为,以最大限度地提高可读性。