2025年11月に.NET 10が公開されました。本記事では、最新のLTSバージョンである .NET 10とひとつ前の .NET 8におけるSPREAD for Windows Forms 19.0J(スプレッド)(以下SPREAD)のパフォーマンスを比較します。業務アプリケーションで広く利用されているSPREADの動作速度やメモリ使用量が、.NETのバージョンアップによってどのように変化するのかを検証します。
実行する環境
パフォーマンスの測定には、.NET 10および .NET 8およびで動作するコンソールアプリケーションを作成して使用しています。測定に使用した実行環境は以下のとおりです。
- OS:Windows 11 Pro(26200.8246/25H2)
- CPU:Intel(R) Core(TM) Ultra 9 288V (3.30 GHz)
- メモリ:32GB
- .NET 10.0.6、.NET 8.0.26
- Visual Studio 2026
- GrapeCity.Spread.WinForms.ja:19.0.0
- BenchmarkDotNet:0.15.8
SPREADを使用するには、製品版またはトライアル版をインストールして製品の認証を行う必要があります。トライアル版は以下からダウンロード可能です。
Visual Studio 2026でのプロジェクトの作成方法や、NuGetパッケージのインストール方法は以下の記事を参考にしてください。
計測に使用するプロジェクト
今回の計測に使用したプロジェクトは以下で公開しています。.NET 10と .NET 8用のそれぞれのプロジェクトが含まれています。
プロジェクトはコンソールアプリケーションとなっており、BenchmarkDotNetのBenchmark属性が含まれるメソッドは以下の2つです。
- OpenExcel
- SetStyle
OpenExcelメソッドではExcelファイルのインポートを行っています。
[Benchmark]
public void OpenExcel()
{
_spread.OpenExcel(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\PerformanceTest_withStyle.xlsx", ExcelOpenFlags.TruncateEmptyRowsAndColumns);
Application.DoEvents();
}SetStyleメソッドではVBA互換のAPIでスタイルの設定を行っています。
[Benchmark]
public void SetStyle()
{
var wsheet = _spread.ActiveSheet.AsWorksheet();
var backColor = GrapeCity.Spreadsheet.Color.FromArgb(Color.LavenderBlush.ToArgb());
var foreColor = GrapeCity.Spreadsheet.Color.FromArgb(Color.Blue.ToArgb());
for (int i = 0; i < wsheet.RowCount; i++)
{
for (int j = 0; j < wsheet.ColumnCount; j++)
{
wsheet.Cells[i, j].Interior.Color = backColor;
wsheet.Cells[i, j].Font.Color = foreColor;
}
}
Application.DoEvents();
}計測結果
上記アプリケーションで計測した結果は以下となります。
.NET 10

.NET 8

処理時間を示すMeanの数値を比較してみると、計測のための2つのメソッドの両方で .NET 10のパフォーマンスが良くなっていることが確認できます。一方、メモリ使用量を表すAllocatedは .NET 10と .NET 8ではほとんど変化していませんでした。
さいごに
本記事では、SPREAD for Windows Formsを .NET 10と .NET 8で動作させた場合のパフォーマンスを測定した結果を紹介しました。これからアプリケーションを .NET Frameworkから .NETへの移行を検討、あるいは .NETのバージョン更新を検討する際の参考にしていただければと思います。
弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。
また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。
