AdvanceSoftware Tech Blog

アドバンスソフトウェア株式会社の技術ブログ

AS-Report 12と従来製品(VB-Report 11)の帳票作成速度を比較する

AS-Report 12では、従来製品のVB-Report 11に比べて帳票作成の処理速度が向上しております。この記事では、同じデザインファイル(テンプレートxlsxファイル)を用いて帳票作成を行い、処理時間を計測・比較します。

環境

用意したデザインファイル(テンプレート)

製品サンプルにも使用しているExcelファイル(SaveFileSample.xlsx)を使用します。

Windows フォームアプリケーション

.NET 環境で動作するプロジェクトを作成し、従来製品との処理速度を比較します。

処理内容については、テンプレートを参照し、そのまま帳票作成処理を行います。

VB-Report 11.0 for .NET との比較結果

500ページ分の帳票出力を複数回行い、処理に要した時間の平均値を計算しました。

製品 Excel保存 PDF保存 Web帳票ドキュメント
AS-Report 12.0 for .NET 約 2.31 秒 約 10.88 秒 約 11.07 秒
VB-Report 11.0 for .NET 約 2.45 秒 約 13.93 秒 約 14.45 秒

※OS: Windows 11 Pro 64bit、CPU: Intel Core i5-12400 2.50GHz、メモリ: 16GB、.NET 6の環境で計測

全体的に処理時間が低減しており、特にPDF/Web帳票ドキュメント出力の処理時間は約20%以上低減した結果になります。

OutputModeごとの比較結果

従来製品(VB-Report 11)では帳票出力を行う際、Excel保存に必要なデータや、それ以外の出力(プレビュー、印刷、PDF作成)に必要なデータを全て作成していましたが、AS-Report 12では作成する帳票データの種類が指定可能となり、作成するデータを絞ることで処理時間、メモリ使用量を低減させることが可能です。

出力モードはReport.Startメソッドの引数にOutputModeを指定することで、切り替えが可能です。三つのモードがあり、下記のような違いがあります。

出力モード 説明
OutputMode.All 出力用のデータをすべて作成します。
OutputMode.NotExcel Excel保存以外(プレビュー、印刷、PDF出力)に必要なデータのみを作成します。
OutputMode.ExcelOnly Excel保存に必要なデータのみを作成します。

既定値(OutputMode.All)、およびその他の出力モードで出力を行った結果は以下の通りです。

Excel出力(All出力とExcelOnly出力で比較)

出力モード 帳票処理時間 メモリ使用量
OutputMode.All 約 2.31 秒 約 156.64 MB
OutputMode.ExcelOnly 約 1.78 秒 約 116.33 MB

PDF 出力(All出力とNotExcel出力で比較)

出力モード 帳票処理時間 メモリ使用量
OutputMode.All 約 10.88 秒 約 313.09 MB
OutputMode.NotExcel 約 9.97 秒 約 273.67 MB

SVG 出力(All出力とNotExcel出力で比較)

出力モード 帳票処理時間 メモリ使用量
OutputMode.All 約 11.07 秒 約 2273.14 MB
OutputMode.NotExcel 約 10.28 秒 約 2207.24 MB

出力形式(Excel/PDF/SVG)や出力モード(OutputMode)によって違いはあるものの、全体的に既定値(OutputMode.All)よりも出力モードを指定した方が 処理時間、メモリ使用量ともに低減される傾向となりました。

さいごに

AS-Report 12と従来製品(VB-Report11)で、帳票作成速度やメモリ使用量について比較してきました。 今回は以上になります。ありがとうございました。

AS-Report12製品ページはこちら
AS-Report12体験版はこちら

© 2022 Advance Software Co., Ltd. All Rights Reserved.