私はこの質問に対する満足のいく答えがどのように見えるか分かりませんが、linqを使ってdatetimeとstringに単純なラッパーをソートするパフォーマンスを測定しました。
Average Ticks Per Run
DWrapper: 1078.5965
SWrapper: 4060.6365
あなたが見ることができるように、私にとって平均して、キャストを使用するのに4倍の時間がかかりました。これは、これが他の方法よりも4倍遅いことを誰にも伝える理由ではないと私のラッパーは信じられないほど軽量で、この種の他の問題はもちろんのこと、ここに見られる結果に大きな影響を与えますパフォーマンス測定の
注:
- 時間測定がSystem.Diagnostics.Stopwatchで行われました。
- クロム、ビジュアルスタジオ、およびその他の大規模アプリケーションを実行している大声のマシンでテストを実行しました。
- 同じランダマイズされた日付で構築された2,000個のサイズの2つのリストで10,000回の実行を行った。
- DateTimeオブジェクトの文字列表現は、DateTime.ToLongDateStringメソッドを使用して行われました。
- ラッパークラスには、単一のDateTimeまたは文字列が含まれています。
- リリースモードでコンパイルされたテストコード。
簡単に測定できませんか?それがあなたのために十分に速いかどうかを試していない場合、なぜパフォーマンスについて気にしますか? –
何に比べて? – juharr
私は問題はないと思っています、それはLINQが行うこと、キャスティング、マッピング、変換などです。そのため、lambdaを使用しています。それは実際に文脈や操作がどれくらい早く完了すると予想されるかによって変わります –