TOP > blog > インデザイン スクリプト処理スピードアップ
コラム
2020/05/10

インデザイン スクリプト処理スピードアップ

管理者用
blog

前回の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ケーブルを抜いても、インデザインは動く。

ライセンスのチェック?・・・・気になるところです。

 

良くわからない事が多いようですね、
皆さんにも、参考になるかもと思って取り上げましたが・・・・

 

関連記事