2008年10月03日
1回目の謎っす
明日は休みなのにゴミ出しの為に早起き強制・・・
どうもぺんぎんっす( ◎v◎ )
まずは下のスクリプトを見て欲しいっす。
default
{
touch_start(integer total_number)
{
integer i;
float rand;
llResetTime();
for(i=0;i<10000;i++)
{
rand = llFrand(1.0);
}
llSay(0,(string)llGetTime());
}
}
float 型のrandに10,000回 llFrand(1.0)を入れてるっす。
最後にllGetTime()を使って、かかった時間をSayしてるっす。
オブジェクトの編集から、「コンテンツ」の「新しいスクリプト」で
スクリプトを作って、上のスクリプトを入力して保存するっす。
そのあと、オブジェクトにタッチするとオブジェクトがSayするっすけど、
保存した後の1回目だけが数値が大きく違うっす。
「リセット」しても2回目以降と同じ感じの数値っす。
Monoでコンパイルして試したっす。
実験場所:tiny kantyanrando
//スクリプトを作成・保存//
1回目 1.055365
2回目 0.776177
3回目 0.668218
//リセット//
4回目 0.673403
5回目 0.683755
6回目 0.689532
//スクリプトにスペースを追加→削除、その後保存//
7回目 1.001356
8回目 0.689487
9回目 0.667350
検証回数まだまだ足りないっすけど、
保存した直後の1回がおかしいっす。
何なんっすかね?
どうもぺんぎんっす( ◎v◎ )
まずは下のスクリプトを見て欲しいっす。
default
{
touch_start(integer total_number)
{
integer i;
float rand;
llResetTime();
for(i=0;i<10000;i++)
{
rand = llFrand(1.0);
}
llSay(0,(string)llGetTime());
}
}
float 型のrandに10,000回 llFrand(1.0)を入れてるっす。
最後にllGetTime()を使って、かかった時間をSayしてるっす。
オブジェクトの編集から、「コンテンツ」の「新しいスクリプト」で
スクリプトを作って、上のスクリプトを入力して保存するっす。
そのあと、オブジェクトにタッチするとオブジェクトがSayするっすけど、
保存した後の1回目だけが数値が大きく違うっす。
「リセット」しても2回目以降と同じ感じの数値っす。
Monoでコンパイルして試したっす。
実験場所:tiny kantyanrando
//スクリプトを作成・保存//
1回目 1.055365
2回目 0.776177
3回目 0.668218
//リセット//
4回目 0.673403
5回目 0.683755
6回目 0.689532
//スクリプトにスペースを追加→削除、その後保存//
7回目 1.001356
8回目 0.689487
9回目 0.667350
検証回数まだまだ足りないっすけど、
保存した直後の1回がおかしいっす。
何なんっすかね?
Posted by ぺんぎん at 22:46│Comments(1)
│スクリプト
この記事へのコメント
Monoでコンパイルしたスクリプトの初回(simごとに初回)実行時は、スクリプトのシグネチャの正当性をチェックする処理が走るため、遅くなってしまうらしいです。
詳しくは、Babbage LindenのOHログ等を参考にしてクダサイ。
http://wiki.secondlife.com/wiki/User:Babbage_Linden/Office_Hours/2008_09_03
また、Monoコンパイルのスクリプトに関する最適化技法は、以下のページに少しあります。
http://ja.secondlife.wikia.com/wiki/How_to_optimize_for_Mono
詳しくは、Babbage LindenのOHログ等を参考にしてクダサイ。
http://wiki.secondlife.com/wiki/User:Babbage_Linden/Office_Hours/2008_09_03
また、Monoコンパイルのスクリプトに関する最適化技法は、以下のページに少しあります。
http://ja.secondlife.wikia.com/wiki/How_to_optimize_for_Mono
Posted by Fake at 2008年10月04日 01:06