このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

テキスト処理のスピードアップ

発言者:田中求之
( Date Monday, April 29, 1996 22:00:18 )


AppleScript でページなどのテキストデータを生成していく場合には、

 set myData to myData & "これが追加するテキスト"

みたいな、& でガンガン連結していくのが簡単なのですが、この方法とは別に

  set myData to {}

  set end of myData to "これが追加するテキスト"

とやって、最初にリスト形式でデータを生成しておいて、最後に

  set AppleScript's text item delimiters to {return}

  set myPage to myData as string

という具合に、リスト→テキスト変換を行う方法があります。

後者の方が早いことには気が付いていたのですが、delimiter の操作などが
面倒で、これまでは CGI Kit などでも単純に & で連結する方法を使っていま
した。しかし、大量のデータを扱う場合や、リピートの中でページを生成する場合
(この会議室などがそれに相当する)、かなりの速度差がでることが判明しました。
(先日、MacScripit ML でも記事が流れていましたが)。

で、CGI Kit や、私自身のスクリプトも含めて、全面的に書き直しを行うつもり
です。

皆さんも、お手元のスクリプトで、テキストの連結を行っているものがあった場合には
リスト→テキスト変換法を試してみるとよいかもしれません。