「&as」的效能陷阱;且可為空白型
使用「&as;」時,常常會想到透過簡潔的語法來提高效能。操作員。然而,正如最近的基準測試所證明的那樣,該運算符可能並不總是能夠為可空類型提供預期的最佳化。
基準測試揭示了「&as;」、「&is;」之間意外的效能差異。其次是鑄造,甚至是 LINQ 解決方案。令許多人驚訝的是,遺產“&is;”方法優於“&as;”,相差 20 倍。這就提出了一個問題:為什麼「&as;」會如此緩慢?
根本原因在於 JIT 編譯器產生的程式碼。對於“&is;”,快速類型檢查和拆箱就足夠了。另一方面,由於裝箱整數與 Nullable
儘管 LINQ 解決方案由於迭代器的原因預計會落後,但其相對於“&as;”的緩慢程度令人費解。可能的罪魁禍首可能是 ngen.exe 最佳化。
總之,而「&as;」提供語法便利,但在效能敏感的場景中必須仔細考慮其與可空類型的效能權衡。
以上是`&as;` 是否總是透過可空類型提供效能提升?的詳細內容。更多資訊請關注PHP中文網其他相關文章!