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