0

我正在制作一个 gomoku 人工智能,我想知道我自己的最佳优化方法是让我的表在我的所有功能中都可用。此表采用char map[MAPSIZE][MAPSIZE]. 在我的算法中,我对该表进行了很多读取访问。

如果通过以下方式访问此地图是否更快:

  • 我所有函数中的一个参数。
  • 我的算法课的成员。
  • 一个全局变量。
  • 函数的参数,但作为指针。

在不久的将来,我将不得不制作该表的大量副本来实现搜索树。

谢谢你的时间,

4

2 回答 2

3

如果它成为一个类成员是有意义的——让它成为一个类成员。这是一个不应该出于优化考虑而做出的设计决策(至少现在还没有,如果您认为值得,您可以稍后在测量之后权衡设计以换取性能)。

另一种方法是通过引用(或指针,但引用更多是 C++-ish)传递它。

于 2013-01-05T11:16:34.813 回答
2

如果通过以下方式访问此地图是否更快:...

不同的方法确实会产生不同的运行时成本。然而,差异几乎肯定是无关紧要的,除非你做了一些非常低效的事情(例如,在每个方法中不必要地复制整个表)。

我建议您在设计时考虑到正确性和清晰性,并担心以后的优化。

于 2013-01-05T11:17:26.950 回答