Netlogo中的高效编码,很多程序还是很少?

时间:2015-10-20 18:17:26

标签: performance netlogo processing-efficiency coding-efficiency

在提高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

干杯,

哈里·

1 个答案:

答案 0 :(得分:2)

这种类型的组织对性能几乎没有任何影响。性能问题几乎总是由于算法问题(例如,要求所有的海龟都要求所有补丁,当你真的只需要问所有补丁时)而不是代码组织。

我强烈建议您始终将代码组织为尽可能可读。这样可以更容易地发现算法问题,帮助您找出性能不佳的真正原因。

最后,您应该查看profiler extension。它带有NetLogo。它将精确地分解每个程序所花费的时间以及每个程序的调用量。这将帮助您识别代码中存在问题的点,并确定代码的特定更改是否可以提高性能。如果您将代码组织到许多过程中,则分析器将能够为您提供更精细的结果。但请注意,您可能很容易因为有许多程序而过度使用,并且会影响可读性。

对于代码组织,可读性应始终是第一优先级。有时,您可能必须实现一种因功能或性能原因而更复杂的算法,因此可能更难以阅读。有些算法很难推理,因此本质上难以阅读。您仍然应该在组织算法实现时尽力而为,以最大限度地提高可读性。