インデザイン スクリプト処理スピードアップ
管理者用
前回のNAVIでは、サクサク動くPCが欲しい・・・話をしました。
サクサク動くPCと言う事で、色々と調査・勉強をして、CPUは、AMD Ryzen 9 3900X(12コア、24スレッド/3.8GHz) のPCを導入しました。
二年前に導入して使って来たPCの価格は半分、スピードは2倍・・・・なんて言いました。
実際のところ、まだまだ使い込んでいないので、スピード2倍のところは、「なんとなく早さは感じている」と言い変えておきます。
仕事の中で、インデザインのデータをPDFファイルに書き出す事が多いのですが、確実にサクサクと言った感じでスピードアップしてます。
感覚的な話ですので、ご了解ください。
さて、今日は、インデザインへのの自動組版時で気になっていた処理スピードについて、測定してみました。
気になっていた課題
1、画面表示と画面表示無しの処理スピード比較
インデザインの画面に表示したまま、処理を行っている場合と、ウインドウから画面を閉じた状態とでは、処理スピードは大きく変わります。
2、データ処理件数による速度
処理件数が多くなると1件当たりの処理時間が大きくなります。
3、LAN接続している場合
前回のNAVIで紹介した、古いPCとのスピード比較しようとしていた時に、パフォーマンスグラフを見ていて気がついたのですが、
イーサーネットが活発に動いていました。
LANケーブルを抜いて、処理時間を確認しました。
壁掛け時計での大雑把な測定でしたが、4割程度、時間短縮となってました。
測定方法
最近よく使用している、宛名レイアウトスクリプトで測定しました。
Excel VBA を使って、インデザインにレイアウトするものです。
時間は、スクリプトに、現在の時間を取り込む命令を追加して、開始時と終了時の時間から表示するようにしてます。
また、処理時間は、データによっても大きく変わりますが、同じデータで比較してます。
気になっていた課題の測定
745件での比較
① 745件 1回目 表示したまま 3223秒 4.33秒/件
② 745件 2回目 表示しない 1217秒 1.63秒/件
③ 745件 3回目 表示しない、ネットoff 739秒 0.99秒/件
①は、インデザインの画面に表示したまま、実行してます。
インデザインの画面に、1ページづつ自動で組版を行っている状態が目視できる状況です。
②は、組版スタート直後に、ウインドウから画面を閉じで行ってます。①に比べ 1/2 以上短縮してます。
③は、②の状態から、LANケーブルを抜いて実行してます。
この時も、②より、さらに3割以上スピードアップしてます。
(その後、LANケーブル抜き差しでの差は、感じられなくなりました。何か別の要素が絡んでいるのかもしれません)
処理件数による比較
件数が多くなるとスピードが落ちる事は、判っているのですが、実際のところどうなんだと言うことで調査しました。
・最初の100件での、1件当たりの処理時間は、0.6秒に対し、1000件でhば、1.34秒でした。
・これを、1000件の終わりの100件にかかっている時間と最初の100件までの同じ100件で比較すると、63秒に対し、328秒でした。
・分割処理の有効性がはっきりしました。
数字からは、500件あたりが分岐点かもしれません。
処理件数 状 態 処理時間 秒/件 秒/100件
100件 非表示、ネット遮断 60 秒 0.6 60秒(1~100件)
200 非表示、ネット遮断 123 0.62 63 (101~200)
300 非表示、ネット遮断 192 0.64 69(201~300)
400 非表示、ネット遮断 264 0.66 72(301~400)
500 非表示、ネット遮断 351 0.7 87(401~500)
600 非表示、ネット遮断 493 0.82 142(501~600)
800 非表示、ネット遮断 858 1.07 195(701~800)
1000件 非表示、ネット遮断 1335 1.34 328(900~1000件)
分割処理は 500ページ?
今までも、処理件数が大きくなったときは、手作業で、分割して処理を行ってました。
今回、測定に使ったプログラムを変更して、自動で分割処理を行うように改善しました。
この考え方は、色々、応用が利きそうです。
以下のデータは、1000件のデータを分割した例です。
1000件を一括処理した場合、1335秒かかっておりましたが、500件で2つに分割した場合でも300秒台で終わってます。
また、前に行った結果と比べると、数字が間違っているようにも見えます。
その日によって、処理スピードが変わって見られます。・・・この日は早い感じ。
1000件 500で分割 393秒
501で分割 384
100で分割 312
200で分割 329
300 で分割 344
日を変えて1000件分割で時間測定。
1000件 100で分割 436
200で分割 480
100 で分割 netoff 438
1000で分割 986
スピードの変化要因
100件を測ってみたら、今日は50秒、最初に諮った時は60秒でした。
前の、項でも話したように、処理スピードの変化の要因が何かあるようです。
ネット遮断でのスピードアップについて、何回か調査しましたが、導入直後の変化のような、大きな変化は、見られないようです。
なにか怪しいと思った、イーサネットでの通信が、処理スピードにかかわるとは言えないようです。
何か別の要因があげられるのかもしれない。
その日によって変わる、原因が判ると、さらに改善の方法が考えれれるかもしれません。
500 件 非表示、ネット遮断 351 0.7
500 件 非表示、ネットあり 355 0.71
500 件 非表示、ネットあり 385 0.77
500 件 非表示、ネットあり 356 0.71
500 件 非表示、ネットあり 376 0.75
それにしても、Adobeは、なにをやっているのだろうか?
処理が終了するとネットの動きも止まる。
LANケーブルを抜いても、インデザインは動く。
ライセンスのチェック?・・・・気になるところです。
良くわからない事が多いようですね、
皆さんにも、参考になるかもと思って取り上げましたが・・・・