ユーザーが処理する変数を指定できるコンソールアプリケーションがあります。これらの変数には、string、double、およびlongの3つのフレーバーがあります(doubleおよびlongは、最も一般的に使用されるタイプです)。ユーザーは好きな変数を好きな順序で指定できるので、私のシステムはそれを処理できなければなりません。この目的のために、私のアプリケーションでは、これらをオブジェクトとして保存し、必要に応じてキャスト/アンキャストしていました。例えば:
public class UnitResponse
{
public object Value { get; set; }
}
私の理解では、ボックス化されたオブジェクトは、標準の値型よりも少し多くのメモリ(約12バイト)を使用します。
私の質問は、これらの値を格納するために動的キーワードを使用する方が効率的でしょうか?それはボクシング/アンボクシングの問題を回避するかもしれません、そしてそれがより効率的であるならば、これはパフォーマンスにどのように影響しますか?
編集
いくつかのコンテキストを提供し、「これを心配するのに十分なRAMを使用していることを確認してください」を防ぐために、最悪の場合、心配するデータポイントは420,000,000個あります(60変数* 7,000,000レコード)。これは、各変数(いくつかのブール値などを含む)について私が保持している他のデータの束に追加されます。したがって、メモリの削減は大きな影響を及ぼします。