ソラマメ ブログ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 4人
オーナーへメッセージ
※カテゴリー別のRSSです
QRコード
QRCODE

気ままな一言

ご質問等、ページへのリンクはご自由に。気軽にコメントでもどうそ~
詳しいことは角川SIMのサポートセンターまでいらっしゃいませっ

世間知らずなので逆にいろいろ教えてください♪

  
Posted by at

2008年05月15日

llMessageLinkedの速度

プリム間のリンクメッセージの速度を測ってみました。

ルートプリム ⇒ 子プリム ⇒ ルートプリム
のようにメッセージを送り時間を計測してみました。
つまり、およそllMessageLinked2回分です。

結果は、約0.022秒でした。
1回分だとその半分になるのでしょうか。

子プリムを増やしてすべてに送信するとこのようになります。(リンク9個でそれぞれの受信までに掛かった時間

0.021606
0.043945
0.066467
0.088379
0.111389
0.132996
0.155029
0.177368

予想とは違い、時間は単純に加算されました。

LINK_ALL_CHILDRENを使用してすべてのプリムに送っているので
送信に0.01秒、受信に0.01×8の時間が掛かるかと思っていました。

この結果だと、1つ1つ送っても同じみたいですね。

遅くはないけど、意外と時間掛かるみたいです。
  

Posted by れむ at 03:14スクリプト

2008年05月12日

ジャンプできるのか~

LSLで最近これに気付きました。

jump文です。

C言語などであるような break continue が無くて不便だなぁとは思っていたのですが、
特に困ることもなかったので全然気付きませんでした。

プログラミング言語を知っているが為に構文に関わるところは
適当に読み飛ばしていました。
リファレンスも元々自分用として書いていましたので
その部分は飛ばしてしまっています。

そんな訳で今更気付きました。

jump はC言語に無いですからね(笑)
C言語風にいうと goto と同じですね。
ラベルの書き方も : ではなく @ という違いがあります。

javagotoみたいなことができると知ったときと同じくらい新鮮でした。
わかる人だけわかって下さい。(笑)

でも、多用は厳禁ですね。

まあ使う機会なんてそんなにありませんが。

  

Posted by れむ at 23:46スクリプト

2008年05月10日

スタックオーバー?

ひさしぶりにスクリプトでも書いていたらこんなエラーが出ました。

LSL
Parser stack depth exceeded; SL will throw a syntax error here.

これは?

とりあえず調べてみると、スタックが150を超えると駄目みたいです。

んんっ?
いくらなんでもそんなにネストしている場所は無いのですが??

スタックの数え方がよくわからないのですが、(英語だったので適当にしか読んでいないだけなのですが
処理がネストする以外に変数や関数を定義するだけで1つ消費するみたいです。
制限されている理由も書いてあった気がします。

私のソースは定義値用に無駄な変数作りまくっているのが原因でしょうね。
回避方法を参考に
関数を先に定義してから変数を定義するように変えてみました。

それだけで無事エラーが出なくなりました。

グローバル変数を使用している関数が、
変数定義より前に定義されているのが気持ち悪いのですが、
エラーは出ないのでひとまず良しとしておきましょう。

どうやらこのエラー lslint.exe を使用している場合だけに起きるようです。
InWorldでは問題なくコンパイルが通りました。

何はともあれ解決しました。


それにしても定数どうしましょうね。
無駄に思えて仕方がないのですが、即値はもっと嫌です。
しかも複数のソースで同じ物を使用する場合、両方に同じものを書かないといけないですし。

まあ、あまりにも増えすぎたら奥の手使うしかないですね。
  

Posted by れむ at 18:24スクリプト