在Unity3d中制作一个0(1)函数是值得的吗?

本文关键字:函数 值得 一个 Unity3d | 更新日期: 2023-09-27 18:01:21

我有两个函数,Foo()Bar()

Foo的时间复杂度为θ(1), Bar的时间复杂度为θ(n²),它们依次执行,Bar与Foo没有依赖关系。

是否值得让Foo作为一个协程来加速?

在Unity3d中制作一个0(1)函数是值得的吗?

Unity协程仍然在主线程上执行。一个接一个。除非你在asset store中使用像"Thread Ninja - Multithread Coroutine"这样的东西,否则你不会从协程中获得任何东西。

值得并行化吗?视情况而定。这里的权衡是在时间性能和代码的可读性/可维护性之间。

我只会在必要时实施时间性能改进。您应该问的第一个问题是,您或用户是否注意到延迟或不良性能?如果没有,则不需要优化。

第二步是轮廓和测量。您应该知道代码的哪一部分是关键的。因此,对于Foo()和Bar(),您应该测量它们在平均和最坏情况下所花费的时间。然后看看你能节省多少时间。然后你需要决定这样做是否值得。;)

就像在评论中提到的那样,大0符号通常对你没有多大帮助。测量它!