問題タブ [eclipse-clp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - 実行時間の測定 ECLiPSe CLP (または Prolog)
ECLiPSe CLP でメソッドの実行時間を測定するにはどうすればよいですか? 現在、私はこれを持っています:
メソッドsolve_traditional(...)の実行にかかった時間を書き込んで、テキスト ファイルに書き出す必要があります。しかし、それは十分に正確ではありません。指定されたメソッドの時間が 0.015 または 0.016 秒と表示されることもありますが、通常は 0.0 秒と表示されます。
メソッドの完了が速すぎると判断したため、2 つのランタイム呼び出しの間にかかる時間を測定するために統計 (ランタイムなど)を使用することにしました。次に、たとえば、20 回のメソッド呼び出しを完了するのにかかる時間を測定し、測定した時間 T を 20 で割ることができます。
唯一の問題は、20 回の呼び出しで T が 0、16、32、または 48 ミリ秒のいずれかに等しいことです。どうやら、各メソッド呼び出しの時間を個別に測定し、実行時間の合計を見つけます (多くの場合、わずか 0.0 秒です)。これは、N 個のメソッド呼び出しの実行時間を測定し、時間 T を N で割るという目的全体を打ち負かします。
要するに、私が実行時間の測定に使用している現在の方法は不十分です。より正確にする方法はありますか (たとえば、小数点以下 9 桁)。
prolog - ECLiPSe CLP : ic ライブラリの search/6 で見つかったサブ結果の間で一時停止
(この質問はsearch/6に関するものです。)
単一の変数の新しい解決策が見つかるたびに、手動でトレースするのではなく、search/6 の実行を一時停止する方法があるかどうか疑問に思っていましたか?
制約のあるモデルでの検索中に何が起こっているかをさらに調査するために、これを達成したいと考えています。
たとえば、古典的な数独問題を解こうとしていて、ボードに一連の制約と印刷メソッドを記述している場合、制約を設定した後、検索する前にボードを印刷すると便利です。制約の強さを評価します。ただし、数独を解決するために search が呼び出されると、トレースを実行しない限り、その下に構築されている単一の結果の概要を実際に把握することはできません。
次のようなことが可能であれば、非常に便利です。
(これは単なる抽象的な例です)
今検索のために:
clpfd - ECLiPSe CLP のプロファイリング?
四角パズルを解くために 2 つの実装を行いました。1 つは上、左、幅、高さ (TLWH) を各四角形のパラメーターとして使用し、もう 1 つは上、左、下、右 (TLBR) を使用します。
何らかの理由で TLBR を使用した方がはるかに高速ですが、その理由はよくわかりません。そのため、TLWH の実装でどの制約がそれほど長くかかっているかを確認する方法があるかどうか疑問に思っていました。
ECLiPSe CLP ソリューションをプロファイリングする方法はありますか?
現在、Windows で TkEclipse を使用しています。