2007年11月19日
TeX on RAMDisk その2
前の実験に使った TeX ソースでは,ソースが HDD にある場合と RAMDisk にある場合とで特に実行時間の差は見られなかった.そのため,前回の実験はソースを HDD において実行時間を計っていた.でも,ひょっとしたらソースが小さかったから差がなかったのかもしれない.ということで,もう少し大きなソースを持ってきて,pTeX のインストール先とソースの保存先とを変えつつ再実験してみた.
使った pTeX は角藤版の 2007/11/12 時点での最新バイナリ.余計なパッケージはインストールせず,ほぼ標準インストールの構成.
コンパイル対象のソースにはとある博士論文を使用.ソースは15分割くらいで,eps系の画像を55個くらいとリファレンスを250個くらい含む.コンパイル時間の計測は,metapost 9回,platex,jbibtex,platex,platex というコマンド列を全部実行した時間を計測.参考までに,TeX ソースの合計サイズが 700KB くらいで,metapost ソースの合計サイズが 160KB くらい.コンパイル時に生成されるファイル総数は75個で,内 68個が metapostの生成するファイルである.
まず,メインマシンでの結果は次のとおり(Core 2 Duo 2.4GHz, 4GB dualchannel memory (PC-6400), SATA 7200rpm HDD,Vista Business 32bit.pTeX と TeX ソースは別々のHDDにある).
pTeX | TeX ソース | 1回目 | 2回目 | 3回目 |
---|---|---|---|---|
RAM | RAM | 11.801s | 11.642s | 11.754s |
HDD | 11.947s | 11.934s | 11.893s | |
HDD | RAM | 12.413s | 12.624s | 12.383s |
HDD | 12.329s | 12.313s | 12.323s |
pTeX を RAMディスク上においた場合,ソースも RAMDsik に置いたほうが 0.1 ~ 0.2 秒程度速いかもしれない.逆に,pTeX を HDD に置いたときには RAMDisk にソース置いたほうがほんの僅かに遅くなるのかもしれない.でも,いずれの場合も意識するほど意味のある差とはいえないでしょう.
続いてW7Bでの実験結果は次のとおり(Core 2 Duo 1.06GHz, 2GB dualchannel memory (PC-4200), SATA 5400rpm HDD,Vista Business 32bit.pTeX と TeX ソースは同じHDDにある).
pTeX | TeX ソース | 1回目 | 2回目 | 3回目 |
---|---|---|---|---|
RAM | RAM | 26.255s | 25.724s | 26.349s |
RAM | HDD | 27.300s | 26.161s | 26.379s |
HDD | RAM | 27.924s | 27.191s | 27.425s |
HDD | HDD | 27.331s | 27.285s | 27.315s |
こちらも傾向としては同じ.意識するほど意味のある差は見られない.残念.
結論:TeXソースをどこに置くかはどうでもいいんじゃないかと.
環境が変わるとどうなるかわからないけど,少なくとも自分の環境では RAMDisk においても HDD においてもコンパイル時間は変わらない.ただ,RAMDisk のほうが情報をロストする可能性が高いので,安全を考えると HDD に置いといたほうが良さげではある.
- Comments: 0
- TrackBack (Close): -
TeX on RAMDisk
RAMDisk 上に pTeX をインストールして,HDDにインストールしたものとコンパイル時間を比較してみた.
コンパイルに使ったTeXソースは9分割されており,64KBくらいでA4に14ページ(英語)ほど.ドキュメントクラスは article で,パッケージはfullpage, color, graphicx, amssymb, amsmath, cite を使用.画像は eps を6枚くらい.
コンパイル時間は,中間ファイルをすべて削除した状態から platex を3回かけた時間を time コマンドで測定(real).ls-R データベースを作った場合と作らない場合とで測定.各セットについて10回くらい走らせて平均を取った.
結果は以下のとおり.マシンはW7Bを使用(Core 2 Duo 1.06GHz, 2GB dualchannel memory (PC-4200), SATA 5400rpm HDD).
ls-R なし | ls-R あり | |
---|---|---|
HDD | 7.24s | 4.41s |
RAMDsik | 5.18s | 4.15s |
とりあえず ls-R のあるなしにかかわらず RAMDisk のほうが速い.ls-R データベースがないときはRAMDiskのほうが30%程度速くそれなりに大きな差がついた気がする.でも,ls-R データベースがあると6%程度しか差が出ない上に絶対値も小さくなっているのでほとんど無視できる程度の差しか出なかった.
ちなみに,メインマシン(Core 2 Duo 2.4GHz, 4GB dualchannel memory (PC-6400), SATA 7200rpm HDD)だとRAMDisk と HDD で有意な差が出なかった.OSのディスクキャッシュが効いたのかHDDが速かったのかそれ以外なのかは不明.
結論:RAMDisk上にpTeXをインストールしてもあんまり特にならない.ls-Rデータベースを mktexlsr とかで作るほうが手間も要らずに速くなる.
まあ,OSのディスクキャッシュもあるのでリードアクセスだけのファイルを RAMDisk 上においておく事の意義はそれほどない気もする(RAMDiskのキャッシュをとられるとアホだ).やっぱ書込みの激しいキャッシュとかに使うのが正しいのでしょう.
- Comments: 0
- TrackBack (Close): -