2016年12月27日火曜日

【C#】ReadOnlyCollection<int>の速度

① List<int>の速度測定ソースコード
var list = Enumerable.Repeat(1, 100 * 1000 * 1000).ToList();
var sw = new Stopwatch();
sw.Start();
var sum = list.Sum();
sw.Stop();

①の結果(実行時間)
 1回目:01.0820459秒
 2回目:01.2269845秒

② ReadOnlyCollection<int>の速度測定ソースコード
var list = Enumerable.Repeat(1, 100 * 1000 * 1000).ToList();
var readList = new ReadOnlyCollection(list.ToList());
var sw = new Stopwatch();
sw.Start();
var sum = readList.Sum();
sw.Stop();

②の結果(実行時間)
 1回目:01.1332304秒
 2回目:01.2619087秒


◆環境
  • 速度確認した仮想マシン
    • CPU core数:4
    • メモリ:4GB
    • OS:Windows10 Pro x64
    • 仮想マシン:VMWare vShpere ESXi6.5
    • Visual Studio 2015
    • 構成:Releaseでビルド
    • デバッグ情報(ビルドの詳細設定):none
    • Visual Studio ホスティングプロセス:無効

  • ホストPCの性能(参考)
    • CPU:Intel Core i5-4250U(2Core 2HT)
    • メモリ:16GB
    • ドライブ:SSD(ウルトラ II mSATA SSD SDMSATA-512G-G25C)
    • 仮想マシン:VMWare ESXi6.0上の仮想マシン


0 件のコメント:

コメントを投稿