はじめに こんにちは、Webエンジニアの濱田裕太 (@yuuta) です。 Quipperが開発・運用している スタディサプリ のプロダクトでは、バックエンドの一部をGoで実装しています。そのサムネイル画像作成で利用する画像処理ライブラリを imaging から bimg (libvips のGoバインディング) に変更したことで、高速化・省メモリ化を実現しました。本エントリでは、それによって得られた知見を共有します。 1. どのくらい高速化・省メモリ化したか 1-1. 検証コード 1-2. 処理時間 1-3. メモリ使用量 2. なぜ高速化・省メモリ化されるのか 2-1. libvipsの画像処理アーキテクチャ 2-2. SIMD対応 2-3. JPEGスケーリングデコード 3. 運用時の留意点 3-1. libvipsのパッケージサイズ 3-2. libvipsのオペレーションキャッシ
![bimg (libvips Goバインディング) でサムネイル画像作成を高速化する - スタディサプリ Product Team Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/12ebc2aba848983a13491bbec63026401ae1caec/height=288;version=1;width=512/https%3A%2F%2Fuser-images.githubusercontent.com%2F1639704%2F109113313-67259400-777f-11eb-98f9-f7e446ad8e1e.png)