株式会社インターワーク

Java Image Libraryの速度比較 − JDeliとImageIO/JAIの比較

私たちのJava画像ライブラリJDeliの速度をImageIOやJAIと比較してみました。JDeli、ImageIO/JAIのいずれも、過去バージョンに比べて改善されており、いくつかの興味深い知見が得られました。

(更新:
JDeliJava画像処理
Java Image Libraryの速度比較 − JDeliとImageIO/JAIの比較

私たちのJava画像ライブラリJDeliの速度をImageIOやJAIと比較してみました。JDeli、ImageIO/JAIのいずれも、過去バージョンに比べて改善されており、いくつかの興味深い知見が得られました。

注: 本記事のベンチマークは2023年2月時点のバージョンで実施されたものです。最新バージョンでは各ライブラリのパフォーマンスが改善されている可能性があります。

明らかな改善点は、HEICやGIFの読み書き、JPEG2000の書き込み、WMFやEMFの読み出しといったフォーマットの追加サポートです。しかし、フォーマットの取り扱いに関するスピードの改善も見てみたいと思っています。

速度比較テストはどのように行われたのでしょうか?

Java Microbenchmark Harnessを使用して、ImageIOとJAIに対するライブラリのパフォーマンスをテストすることで、より正確なテストができることがわかりました。

テストに使用したコードはGitHubにありますし、テストは試用版でも問題なく運用できますので、ご自身でテストを行いたい方はぜひお試しください。ぜひ、あなた自身の画像ファイルのデータセットやハードウェアでテストを実行し、結果を教えてください。

テスト方法について

JDeliとImageIO/JAIの両方でサポートされているフォーマットをテストしています。そのため、DICOM、EMF、HEIC、PSD、SGI、WebP、WMFは含めないことにしています。

HEICは現在他のライブラリがサポートしていないにもかかわらず、読み出しと書き出しの両方で分けて入れています。

速度を比較したいので、平均時間モードを採用します。これは、1回の操作の平均秒数を取るものです。これらのテストではすべて、50ファイルのディレクトリを使用して、画像をBufferedImageとしてJavaにロードすることにします。各テストについて、最良の結果を緑色でハイライトしています。

読み込み性能

ファイルタイプImageIOImageIO/JAIJDeli
PNG0.168 ± 0.001非対応0.483 ± 0.001
JPEG6.159 ± 0.013非対応10.464 ± 0.005
GIF0.063 ± 0.001非対応0.027 ± 0.001
BMP0.099 ± 0.001非対応0.026 ± 0.001
TIFF0.014 ± 0.001非対応0.015 ± 0.001
JPEG2000非対応24.855 ± 0.04417.528 ± 0.032
HEIC非対応非対応0.085 ± 0.001

書き出し性能

ファイルタイプImageIOImageIO/JAIJDeli
PNG0.623 ± 0.006非対応0.216 ± 0.001
JPEG10.600 ± 0.077非対応5.809 ± 0.011
TIFF非対応11.738 ± 0.0506.379 ± 0.013
GIF1.078 ± 0.004非対応0.027 ± 0.001
HEIC非対応非対応0.297 ± 0.001

コード例

画像の読み込み

BufferedImage image = JDeli.read(streamOrFile);

画像の書き出し

JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile);

まとめ

JDeliはImageIOの多くのバグを修正し、より多くのファイルやファイルフォーマットを扱えるようになりました。テストの際、ImageIOで例外が発生するファイルがありましたので、テストを公正に行うため、これらのファイルを削除し、両方のライブラリで処理できるファイルに置き換えることにしました。

あなたのユースケースに最適なJava画像ライブラリを選択することは重要ですが、ここでは比較可能な画像品質に対して速度のみを比較しています。ファイルサイズ、品質、サポートされているフォーマットなど、比較できる指標はたくさんあります。

JDeli

Java画像ライブラリ。HEIC・WebP・DICOMなど20以上のフォーマットに対応。ImageIOの最大7倍高速。

開発者向けPDF入門ガイド 表紙
無料 eBook / 25p

開発者向けPDF入門ガイド

PDFの仕様や活用方法など、開発者に必要な情報をコンパクトにまとめました。初めてPDFを扱う開発者にも分かりやすく、基礎から応用までカバーしているため、PDFのポテンシャルを最大限に引き出し、アプリケーション開発やドキュメント管理の効率化を図るための手引きとなるでしょう。

ご興味のある製品:

ご入力いただいた情報は、eBookの送付およびインターワークからのご案内にのみ使用いたします。プライバシーポリシー