icon 猩腥醒徐 20 Dec 2010


2,583

See FRI, 09 APR 2010

icon フォント生成時の並列処理とマルチスレッド化 #2 20 Dec 2010

半年前にご提案をいただいた時は iBook G4 で make が通らず利用できなかったのですが、新しい作業機の Intel Core 2 Duo では問題無くフォント生成が出来る事を確認しました。作者の方の環境ほどの時間短縮にはなりませんでしたが効果は確実にありました。以下、軽い作業と並行しての計測なので余り正確では無いと思われますが、
MPLUS_FULLSET=yes make  2778.92s user 53.67s system 98% cpu 48:09.02 total
上は今までのスクリプトでの結果です。iBook G4 では 4、5 時間もかかっていたので、この結果だけでも驚いていたりします。続いて SPLIT_CONCURRENCY を 2 から 4 まで変化させた結果です。
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=2  2838.79s user 58.68s system 115% cpu 41:53.69 total
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=3  2837.75s user 55.98s system 117% cpu 41:03.27 total
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=4  2848.40s user 60.21s system 116% cpu 41:43.33 total
自分の環境ではこの程度ですが、大きく時間短縮の恩恵を受けられる方もいらっしゃるのではないでしょうか。mplus_outline_fonts/Makefile と mplus_outline_fonts/scripts/split-svg.pl を cvs commit しましたのでぜひお試しください。また、お気づきの点などもありましたらお知らせください。

icon フォント生成時の並列処理とマルチスレッド化 #3 20 Dec 2010

肝心の -j オプションを見落としていた(恥ずかしい)ので再計測してみました、今回はバッテリ駆動時での結果です。
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=2 -j2  2849.77s user 57.26s system 186% cpu 26:02.26 total
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=3 -j3  2857.57s user 59.88s system 179% cpu 27:05.30 total
MPLUS_FULLSET=yes make SPLIT_CONCURRENCY=4 -j4  2861.74s user 62.14s system 177% cpu 27:23.07 total
以上のように劇的な効果がありました、自分の環境では -j2 が良さそうです。また、再修正された split-svg.pl も cvs commit しました。