文系プログラマによるTIPSブログスマートフォン用の表示で見る文系プログラマによるTIPSブログ文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。実は既にImageMagickで並列画像変換するDockerイメージを用意してたりするのですが、ImageMagickをそろそろ卒業しようと思いまして、今回PythonのPillow-SIMDで全部書き直す事にしました。converterいいからリポジトリ見せろよgithub.comhttps://hub.docker.com/r/treetips/simple-fast-image-converter/こちらです。upすると、再帰的に画像フォルダを検索して、拡張子毎に異なる圧縮品質で、並列に画像変換(圧縮)を行う事ができます。可逆圧縮はそもそも圧縮がほとんど効かずコスパが悪いので、jpg,jpeg辺りの非可逆圧縮のみを対象とすると、非常に高速に圧縮できます。ちなみにリサイズは行わず、あくまで圧縮のみを行うものです。image.save周辺で作成しちゃって下さい。linuxベースのpythonイメージに、頑張ってPillow-SIMDをインストールしてイメージを生成してます。依存ライブラリが多いので、228MBというデブデブなイメージになってしまいました。並列処理についてはPython側でmultiprocessingのProcessで、マルチプロセスで行っています。Dockerに割り当てられているCPU個数を取得して、コア数分自動で並列処理されます。windowsをご利用の方は、DockerへのCPU割当数を増やして実行すると、CPUをフルに使い切って高速に変換可能になります。どんな時に使うの?主にCIサーバで以下のフローで使う事を想定しています。cloneしたファイル群に対して、画像変換をかけて圧縮。