现在将代码优化到一个微小的细节是多么重要,特别是如果你构建一个小型/中型应用程序?
在性能上是否真的那么明显,或者只是编写一个好的代码并培训自己处于最高水平,无论需要完成什么任务?
我问的是一些简单的例子,例如使用override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let prayer = PrayerSound(namazName: cellLabel, pathString: filePath!, checked: checked)
sinleton.prayerArray[cellindex] = prayer
}
而不是简单的字符串连接
StringBuilder
VS
StingBuilder sb = new StringBuilder();
sb.Append("string1");
sb.Append(" string2");
在情境允许时使用string s = "string1"+" string2";
vs Int16
,
或使用
Int32
VS
List<string> list = new List<string>(){"string 1", "string 2"};
这些只是一些简单的例子,但我想知道,你们中是否有人认为这些微小优化会对应用程序性能产生显着影响?
答案 0 :(得分:2)
嗯,这完全取决于你的背景。如果你的应用程序只是连接两个字符串就是这样(就你的例子而言),我怀疑使用另一个字符串会产生巨大的影响。然而,如此数千或者数百万次的代表可能导致即使是简单的计算也是一个巨大的瓶颈。
无论如何,beware of optimization。您应该考虑可读和可维护的代码。
答案 1 :(得分:2)
优化取决于您的实际域名。简单的良好编码实践永远不会浪费时间,但无论如何,您不应盲目优化代码,因为您认为某些实践可能会提高您的整体应用程序性能。
您应该利用分析器来监视内存消耗,CPU使用率和其他指标,并开发一个良好的开发环境来执行负载测试。这样,您就可以确定应用程序的瓶颈。
我总是说开始使用一个好的软件架构而不是一个优化的代码库更重要,因为一个好的软件架构很容易重构或只是用更好的代码重新实现它的黑盒子,但是错误的软件架构只是一堆spaguetti代码。