Swift編譯器是否足夠聰明,能夠優化掉多個重複的方法調用以返回相同的對象?或者,我應該首先將返回值賦給一個常量,然後使用它?Swift Performance
例如:
的Table View Programming Guide for iOS說,添加的子視圖的
UITableViewCell
的contentView
時,避免使它們是透明的。 「透明子視圖會增加合成成本,從而影響滾動性能。」所以,我經常做到以下幾點:
class EmployeeCell: UITableViewCell { var nameLabel: UILabel var titleLabel: UILabel // ... init(style: UITableViewCellStyle, reuseIdentifier: String) { nameLabel = UILabel(frame: CGRectZero) nameLabel.backgroundColor = UIColor.whiteColor() titleLabel = UILabel(frame: CGRectZero) titleLabel.backgroundColor = UIColor.whiteColor() // ... super.init(style: style, reuseIdentifier: reuseIdentifier) } }
它會更好,然而,第一個(內
init
)做let whiteColor = UIColor.whiteColor()
,然後用whiteColor
替換每次調用UIColor.whiteColor()
?或者,也許在這個例子中,我定義一個函數(內
init
)創建一個UILabel
與CGRectZero
一個frame
和UIColor.whiteColor()
一個backgroundColor
,只是調用初始化每個標籤屬性。如果我那樣做,will Swift know to optimize (perhaps inline) that function?
0
A
回答
0
使用swiftc -help有很多的選項,使用-emit-XXXX看到細節
相關問題
- 1. Neos Performance
- 2. Select performance
- 3. Reflection.Emit Performance
- 4. silverlight xaml staticresouce performance
- 5. QTMovie addImage performance
- 6. stringtokenizer java - performance
- 7. Rails serverside handlebars performance
- 8. qt performance - OpenGL
- 9. Mongo $ in operator performance
- 10. mod_wsgi-express slow performance
- 11. Firebug&Performance Question?
- 12. Laravel 4 Facades Performance
- 13. RowVersion和Performance
- 14. Cassandra multiget performance
- 15. MYSQL GROUP BY PERFORMANCE
- 16. performance stringbuf vs string
- 17. android performance tunning?
- 18. Beautifulsoup4 performance raspberry pi3
- 19. live('click')and performance
- 20. Spark Slow Performance
- 21. TagSoup vs JSoup :: Performance?
- 22. .Net Profiler/Performance tuning
- 23. git vs mercurial performance
- 24. VS 2010 Performance Explorer
- 25. Performance-Billion Counter
- 26. GCC mtune performance
- 27. plone.app.theming xi:include performance
- 28. Render-call performance drain
- 29. For loop performance
- 30. Polymorphic Performance Hit
我不認爲它會產生有意義的性能影響無論哪種方式,所產生的工作。不管它在這個特定情況下的行爲如何,我認爲依靠編譯器的實現細節並不是一個好主意 – Jiaaro
@Jiaaro可能不是這樣一個小例子,但是如果這個類做了非常重要的信息,它可能會更有趣(例如,如果我在100次以上的戰利品中調用此方法,並且表視圖可能有1000行)。請記住,swift正處於測試階段。所以,行爲可能會改變。 – Matt3o12