【发布时间】:2016-12-31 23:41:59
【问题描述】:
我偶尔会遇到一个我不会更改数组内容的地方,但我需要在一个函数中多次知道它的计数。将数组的 .count 赋值给一个变量并多次使用是不是效率更高,还是编译器让效率等效?
【问题讨论】:
-
我建议:
Don't worry about it...until it's a problem。在您的分析器表明那里存在瓶颈之前,请使用您认为更具可读性的任何方式。 -
@JamesWebster 同意 10000%。在紧密的循环中,诸如此类的小事情肯定很重要,尤其是在发出保留/释放调用的情况下,但在大多数情况下,优化器会做正确的事情,而且当它不容易修复时,使用 Instruments 会很明显那些具体案例。
-
“别担心......直到它成为一个问题”不是我的工作。我是一个单独的字体端开发人员,从事为期一年的项目以制作企业应用程序。我从大学毕业后直接在一家初创公司获得了这个职位,如果我做好我的工作,这将是成功的。我必须在第一次做我能做到的所有事情上都做到完美,因为我负担不起 10 个人队所拥有的所有福利。我尽可能地写出接近完美的代码,而不是每次我需要另一层深度时都重构它。会有问题,但是这家公司和它的成功将等同于我自己的。
-
I have to do everything perfect that I can my first time around- 在很多情况下,“完美”的事情是不进行微优化。例如仅对于这个问题,假设您已经花费了一个小时的时间,考虑潜在的问题,输入这个问题,阅读答案并编辑您的代码,发现您已经节省了 0.0001 秒。使用分析器来找出实际瓶颈/泄漏/其他问题存在的位置并修复它,那一小时可能会更好。 -
我想澄清一下,我的意思不是“不要担心一切”,我的意思是“不要担心优化”。
标签: arrays swift count compiler-optimization enumeration