アカウント名:
パスワード:
Jolt で全てのループ処理をチェックするとプログラムの実行時間が 7 〜 8 % 遅くなるという難点もある
ループ処理とツールに認識されないように後ろ向きgoto文を使う…っと. で, 出来た物は古典的スパゲッティコード.
えてして, こういう姑息なチューニングをするのが無限ループを仕込むんだよね.
そんな面倒な気遣いは不要。
原論文 [mit.edu]を斜め読みしただけだけど、ループ中で少しでも状態が変わっていれば無限ループとして検出されることはないので、第二種過誤の心配はまずない。少なくとも私には、無限ループに陥った場合以外でループ先頭に戻る毎に同じ状態になる例が思いつかない。
つまりfor(;;) i++;としただけで(iはオーバーフローしないものとして)無限ループ検出できなくなるってこと?
今のところは対象外に見えます。
ですが、まだ実験して論文書いてという段階なので、今後対応する可能性はあるでしょう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
チューニング技法 (スコア:1)
ループ処理とツールに認識されないように後ろ向きgoto文を使う…っと. で, 出来た物は古典的スパゲッティコード.
えてして, こういう姑息なチューニングをするのが無限ループを仕込むんだよね.
Re: (スコア:2, 参考になる)
そんな面倒な気遣いは不要。
原論文 [mit.edu]を斜め読みしただけだけど、ループ中で少しでも状態が変わっていれば無限ループとして検出されることはないので、第二種過誤の心配はまずない。少なくとも私には、無限ループに陥った場合以外でループ先頭に戻る毎に同じ状態になる例が思いつかない。
Re:チューニング技法 (スコア:0)
つまり
for(;;) i++;
としただけで(iはオーバーフローしないものとして)無限ループ検出できなくなるってこと?
Re:チューニング技法 (スコア:1)
今のところは対象外に見えます。
ですが、まだ実験して論文書いてという段階なので、今後対応する可能性はあるでしょう。
Re: (スコア:0)
Re:チューニング技法 (スコア:1)
Re: (スコア:0)
「ループ内の副作用に関与しない部分のデータの書き換えが起こらずに、ループ先頭に戻ったら、。。。」
を判定せねばならず、関与の意味がシステム外部にまでつながるので、実質的には判定不能です。
(キーボード入力待ちループも本質は一緒で、チューリングマシン停止問題になってしまう。)