* 朝。
* ごー。でもって移動中にぱこぱこやってたのですが。<スクリプト
*
へむ2「ふむ、なるほど。サブルーチン呼び出しコストが馬鹿にならんのじゃな。これ」
まるち「はわ? はぁ(^^; え・・・と?」
へむ2「んー。つまりやね、『レジストリから初期値を全部呼び出す』のに、直接叩いてやれば1秒かからない。だけど、それと同じ命令を『サブルーチン呼び出してそこから値を返す』様にしただけで大体2秒かかる様になる。ミリセカンド単位で時間かかる方法が無いんで概算やけど」
猪名川「ほぉ。倍以上かいな」
へむ2「察するに、『ローカル変数設定のコスト』が半端無くデカいんだと思われます。そして何となく納得がいったんですが、そんなんだから『基本的には全部グローバル変数』なんつー反吐の出る仕様になっとるんじゃなー。これ」
まるち「は、はわ(^^;」
へむ2「えいくそ。グローバル変数はバグの元だから使いたくないとおにーちゃんアレだけ言うておるのに・・・て、加えてネストが深くなっただけでもやたら時間食う様になるなー。『中で何の操作もしないループ』を一個回しただけで1秒から2秒に倍加て何だそれ。さらにそのループを二重にすると5秒になるとか、ちょっとこっちに来なさいそこのキミ。こんこんと説教しちゃるから」
まるち「はぁ(^^;;;」
カニ子「んー。それって、普通じゃ無いんカニか?」
へむ2「そうだな、普通はここまで遅くならない。最初のループはエレメント三個、次が五個で大本が七個。つまり全部掛け合わせても100回少々。その程度のループで四秒プラスは、ねぇ」
猪名川「ふむ。確かにちょい、遅すぎやわな。そのくらいやったら一秒で回ってこれるやろに」
へむ2「普通のPCで普通にやってりゃそれくらいは、な。アレかのう、ローカル変数設定コストだけじゃなく、ループ脱出時のメモリ破棄も遅かったりするんじゃろな。多分」
あずさ「・・・まあ、よくは分からないけど。でも、何とかなるんでしょ? 原因、分かったんだし」
へむ2「うーん。確かに、分かってりゃあそれなりに何とか出来ますが・・・ますが・・・うー。うーつーくーしーくーなーいー。問題回避の為にゃああちこちに同じコード書き散らかす、とかせんとアカン訳で、そういうのはバグの元ー。やだー。やだー。やだやだー」
あずさ「だだっ子か、アンタは(−−」
猪名川「ま、気持ちは分からんでも無い。分からんでも無いけど、やけどしゃーないみたいやん?」
へむ2「そう、しゃーないのだよ。しゃーないのだけど・・・うにゃー。おーのーれー」
* ・・・ちょっち本気で、お手軽スクリプトじゃ無い普通の開発環境用意すべきかしらん。それはそれでまたイチからになるんで、面倒なんじゃけどなー。
-
* にゅ。
* とか悩みつつ、お仕事うにゃにゃ。夕方からはもう一頑張りで、何とか4秒少々まで。<起動時間>ま、このくらいが限度ですかねぇ。
*
へむ2「なんせ
MortScript本体が起動してスクリプト読み込むまで、で2秒かかるからな。4秒強なら、まあ、許容範囲内じゃろう」
まるち「はい〜(^^; あの、お疲れ様でした〜」
カニ子「で。これで完成なんカニか?」
へむ2「いや? 設定画面はこれで完成じゃけど、それを読み込んで実際に再生、な所でちょっとバグが残ってる。後、いちいちサウンドプレイヤーを最小化してー、いうんが煩雑なので、いっそ『サウンドプレイヤー操作する事で連動してスクリプト制御可能』な様にちょっくらいじってみたいと思う。ので、後一日かなー。やっぱり」
カニ子「・・・ふぅ。やれやれ、カニねー」
へむ2「すまんのう。ま、でもさすがに先は見えたので。後もーちょいですよ、後もーちょい」
* あい。では限界近いので、今日もここまでまた明日。
* ぐぅ。