Sirilのスタック処理の高速化
天体撮影って、撮影後の処理に時間が結構かかります。 私は100枚以上撮影する事が多く、いつもは30秒×240枚を目標に撮影しています。 これの前処理をすると2~3時間は平気でPCがフル稼働になっています。 基本的には空いた時間に処理をしておくのですが、やっぱり処理がさっさと終わることに越したことはありません。 ハイスペPCを買えば解決できますが、軍資金がありません! 何とかならないかなぁと考えていました。 今回、windowsでSirilを使っている場合限定ですが、前処理を高速化する方法を見つけました。 WSL2を使って Linux上で処理 をすれば速くなります! どれくらい速くなる? 私のPCの構成は下の通り。 CPU:ryzen 5 5600G RAM:16GB DDR4-2133 ストレージ:3TB HDD 7200rpm CドライブはSSDですが、今回は全てHDD内で処理しました。 公平に評価するため(というかデータが入り切らないので)仮想ドライブもHDDに移動しています。 まずはその効果です。 417万画素×128枚 2424万画素×128枚 2424万画素×370枚 上記の構成の画像に対して、それぞれ同じ処理をしてみました。 通常のwindows環境に比べて、WSL環境ではどれも処理が高速化しているのが分かります。 417万画素×128枚でトライしたときには 20%程度 だったので、それでも凄い差だなと思っていました。 が、2424万画素×128枚になると差が 27%まで広がり 、2424万画素×370枚に関しては 45%に迫る処理速度の向上 がありました。 正直驚いています。 同じファイル、同じハードでこれだけの差が出るとは。 傾向として、ファイルサイズが大きくなるよりも、ファイル数が多くなった方が速くなっています。 AIに理由を聞いてみると、WindowsとLinuxのファイルシステムによる差だと言うことです。 linuxが採用しているext4は、windowsのntfsよりもファイルのopen / closeが速いので多量のファイルを読み書きする前処理はLinuxが有利らしいです。 結果とAIの回答に矛盾は無さそうです。 ただし、両手を上げて「linuxを使おう!」と言う訳ではありません。 個人にはlinuxに興味はありますが、半年ほどubuntu...
