記事No | : 574 |
タイトル | : Re: マルチスレッドについて |
投稿日 | : 2018/03/03(Sat) 22:23:10 |
投稿者 | : Claybird < > |
参照先 | : http://claybird.sakura.ne.jp/ |
お茶犬様
LhaForgeでは、マルチスレッド処理は(ほぼ)非対応です。
非対応の理由ですが、一番大きな理由は、
「圧縮・解凍はCPUよりディスクの読み書きに時間がかかっていることがほとんど」
であるためです。
ついでに、裏事情をお話しします。
LhaForgeの仕組みについて簡単にご説明すると、
1.ユーザーの処理 → 2.LhaForgeが処理条件を整理 → 3.アーカイバDLLが実際に圧縮・解凍を行う
の順で処理が走ります。
このアーカイバDLLですが、ほとんどがマルチスレッドでの圧縮・解凍処理に非対応です。
大半がマルチコアCPUが無い・珍しい時代に製作されたためです。
対応しているものは、ZIP/7z圧縮用の7-Zip32.dllぐらいだったと記憶しています。
アーカイバDLLには作者さんがそれぞれいらっしゃいますが、どれも開発がほぼ休止してしまっています。
Claybird