鑑於這一功能:將不同號碼類型作爲參數發送到方法時是否存在性能問題?
void function(Double X, Double y, Double Z);
是否有性能問題,如果我發送不同數量的數據類型?例如:
function(1, 2, 3); //int, int, int
function(1, 2.2, 1); //int, double, int
function(1.3f, 3.4, 2.34f) //single, double, single
function(1.2f, 1, 1) //single, int, int
.NET JIT如何管理它?它做拳擊拆箱?這會影響性能?
我們在談論實際的文字或變量嗎?如果它們是文字,C#編譯器正在執行隱式轉換,並且沒有運行時成本。否則,運行時轉換的成本很低,但沒有分配(裝箱/拆箱)。 –
這是一個在編譯時已知的常量類型。任何編寫玩具編譯器的本科生都可以在編譯器中完成。我認爲.NET編譯器人員可能可以管理。也就是說,假設你的例子中的代碼是你問的代碼。 –
如果參數轉換時間與方法執行所需的總時間相比顯着,那麼如果在緊密循環中調用此方法,則性能成本只是一個問題。 – MickyD