※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。az-prologでは配列のような入れ子型は、リスト型とは別にアレイ型というものがあります。単位節の代わりに使うと便利です。単位節の一番先頭を削除するretractする時間を調べるベンチマークプログラムを作成してみました。N-1,assert(func(N)),create_func(M).テストしてみましょう。?-ヒープ領域がオーバーフローしてしまいました。これを防ぐのはprolog立ち上げ時にコマンドオプションでヒープ領域を指定しておきましょう。10000再度テストしてみましょう。retract_time:1301.64199995995create時間が線形的になっていません。retractが数が多くなるごとに時間が多く掛かっています。この場合、単位節自身を更新しながら追加するような処理には向かないことが分かります。→func(焼き肉,4人))このような時にアレイ型を使うとこの問題が解消されます。次にアレイ型のベンチマークプログラムを作ってみました。N-1,gets_array(Z,M).setとgetは経過時間が数に比例して線形的に増加していることが分かります。プライバシーポリシー。