.NET 8と.NET Framework 4.8でパフォーマンスを比較してみる(SPREAD for Windows Forms)

SPREAD for Windows Forms 17.0J(スプレッド)には .NET用と .NET Framework用のアセンブリが用意されています。本記事では、SPREAD for Windows Formsを .NET 8と .NET Framework 4.8でそれぞれ動作させた場合のパフォーマンスを評価した結果を紹介します。

実行する環境

パフォーマンスを測定する環境として、Azure VM(Azure Virtual Machines)を使用しています。今回はBシリーズにある「B2ms」(vCPU:2、メモリ:8GB)を実行環境とします。

実行する環境

計測に使用するプロジェクト

今回の計測に使用するプロジェクトは以下で公開しています。

このプロジェクトは以下の構成になっており、ソリューションファイル(*.sln)とプロジェクトファイル(*.csproj)はフレームワーク別に用意し、計測部分のソースコードは共有しています。

計測に使用するプロジェクト

このプロジェクトを使用して、以下の構成でパフォーマンスを測定しています。

  • SPREAD for Windows Forms 17.0J(初版) + .NET 8
  • SPREAD for Windows Forms 17.0J(初版) + .NET 6
  • SPREAD for Windows Forms 17.0J(初版) + .NET Framework 4.8
  • SPREAD for Windows Forms 15.0J(SP3) + .NET 6
  • SPREAD for Windows Forms 15.0J(SP3) + .NET Framework 4.8

計測方法

以下の手順で3回計測を行いその平均値を算出しています。なお、2回目以降の計測を行う場合にはアプリケーションをいったん終了し、最初から開始しています。

  1. アプリケーションの開始
    • Visual Studioで「Release」でビルドし「デバッグなし」で開始
    • すべての計測で「描画とイベントの一時停止」を使用)
  2. Excelファイルのインポート
  3. ファイルリストの表示
  4. フィルタの実行
  5. スタイルの設定(VBA互換のAPI)
  6. アプリケーションの終了
計測に使用するプロジェクト

計測結果

上記アプリケーションで計測した結果は以下となります。

計測結果
クリックで画像を拡大できます

.NET 6と .NET 8の比較

.NET 8では .NET 6に比べて、すべての計測項目で「処理時間」のパフォーマンスが良くなっています。

.NET 6と .NET 8の比較

.NET 8、6と .NET Framework 4.8の比較

.NET 8、6では .NET Framework 4.8に比べて、以下の3項目で「処理時間」のパフォーマンスが良くなっています。

  • Excelファイルのインポート
  • ファイルリストの表示
  • スタイルの設定(VBA互換のAPI)

「フィルタの実行」は .NET 6では .NET Framework 4.8よりも処理時間が少し遅くなりましたが、.NET 8ではパフォーマンスが良くなっています。

.NET 8、6と .NET Framework 4.8の比較

17.0Jと15.0Jの比較

17.0Jと15.0Jの処理時間を .NET 6と .NET Framework 4.8の両方で比較してみましたがほぼ差はありません。

17.0Jと15.0Jの比較

メモリ消費全般

.NET 8、6の「Excelファイルのインポート」と「フィルタリストの表示」は .NET Framework 4.8に比べてメモリを多く消費しています。これらは処理時間が改善されている項目なので、メモリを多く使用して処理時間を短くしていると考えられます。

メモリ消費全般

さいごに

本記事ではSPREAD for Windows Formsを .NET 8と .NET Framework 4.8で動作させた場合のパフォーマンスを測定した結果を紹介しました。これから .NET Frameworkから .NETへ移行を検討する際の参考にしていただければと思います。

また、.NET Framework 4.8から .NET 8への移行方法や、その他の移行情報については以下のページで解説していますので、こちらも参考にしていただければと思います。


製品の機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。

また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /