よく調べたら、Pixelfedでワーカーがメモリ不足になるの、リサイズ処理ではなくBlurhashの生成のところらしい…
これ、どうもPixelfedのオリジナルではなくて、オリジナルライブラリがあるようだ。
https://github.com/kornrunner/php-blurhash
それはともかく、高々640x480の画像に対するBlurhash計算が128MBで足りないのは本当か?実験してみよう。
BlurHashのC言語実装をPHP拡張モジュールにコンパイルすることを試みた。高速化の効果は十分あり。あとはメモリ消費の改善効果がどれくらいあるかな。
[PHP8対応] PHP拡張モジュールを自作してBlurHashの計算を高速化する https://qiita.com/everylittle/items/21467bee51402ed33e6a
見るからに画像サイズ以上にメモリを食いそうなデータ構造ではある…(Pixelfedの app/Util/Media/Blurhash.php)