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

リスト形式データについて

発言者:りょうじ@highway
( Date Saturday, January 25, 1997 03:38:23 )


りょうじ@highwayと申します。 よろしくお願いします。

いきなりですが、質問です・・・

Apple Scriptのリスト形式データには、その項目数やデータ量により
制限があるのでしょうか??

現在、テキストファイル(CSV形式)を下記の様にリストに格納しまして
<入力データ>
A_001,1,12,,23,,3,5
A_002,・・・
A_0033,・・・
<リスト>
{{"A_001","1","12","","23","","3","5"},{"A_002",・・・},{"A_003",・・・}

リストの空欄("")の項目の部分に別の処理で求めた値を代入する処理を
行っているのですが・・・

入力データにテストデータ(10KB程度)のファイルを用いた処理では、
Scriptは正しく動作し、処理をスムーズに行ってくれているのですが、
入力データを(40KB程度)のファイルで処理を行った場合、Scriptの
処理が異様に遅くなってしまいます。
テストデータでは、3分位で終了する程度の処理なのですが、
40KBのファイルで処理を行うと3時間待っても処理が終わらず
疑問に思っております。(待ちくたびれて最後まで処理させた
ことはありません。)

Scriptは、アプリケーション形式で保存し15MBのメモリを割り当てています。
また、環境はPowerMac9500/120にOS、漢字Talk7.5.3を使用しています。

まだScriptをはじめて日が浅く、とても稚拙な質問かもしれませんが
ご教授の程よろしくお願い申し上げます。

田中求之 さんからのコメント
( Saturday, January 25, 1997 08:25:57 )

>Apple Scriptのリスト形式データには、その項目数やデータ量により
>制限があるのでしょうか??

メモリー以外に制限はないはずです。メモリーさえ十分に割り当ててある
なら、大きなリストでも問題なく扱えます。

>リストの空欄("")の項目の部分に別の処理で求めた値を代入する処理を
>行っているのですが・・・

この部分はどのような処理になっていますか? おそらく、遅くなる原因は
リストのサイズではなく、こちらの処理の方に原因があると思われるのですが。

りょうじ@highway さんからのコメント
( Monday, January 27, 1997 23:28:46 )

さっそくのご回答ありがとうございました。

 >>この部分はどのような処理になっていますか? おそらく、遅くなる原因は
 >>リストのサイズではなく、こちらの処理の方に原因があると思われるのですが。

具体的な処理としては、下記を例にすると
<入力データ>
A_001,1,12,23,3,5
A_002,33,,46,7,5
<リスト>
{{"A_001","1","12","23","3","5"},{"A_002","33","","46","7","5"},・・・}

空欄のあるアイテムがある場合、その一つ手前のアイテムを見て
同じ場所にあるアイテムを単純に代入しています。

{{"A_001","1","12","23","3","5"},{"A_002","33","12","46","7","5"},・・}

この時、代入するべき数が"0"であるときには"null"を代入するように
if文も入れていますが、その他には特に複雑な処理を行っていないの
ですが・・・。

でも、メモリ以外の制限がないとの事ですので、もう一度Scriptを見直して
見たいと思います。

ご指導ありがとうございました。