この機能を考える:私は別の番号のデータ型を送信する場合メソッドにパラメータとして異なる数値型を送信するとパフォーマンス上の問題がありますか?
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