Skip to content
This repository has been archived by the owner on Oct 1, 2023. It is now read-only.

節の数や衝突の発生回数が多いケースだと非常に遅い #20

Open
private-yusuke opened this issue Dec 2, 2020 · 3 comments

Comments

@private-yusuke
Copy link
Owner

No description provided.

@private-yusuke private-yusuke changed the title 節の数が多いケースだと非常に遅い「 節の数が多いケースだと非常に遅い Dec 2, 2020
@private-yusuke
Copy link
Owner Author

remove-availClauses ブランチで availClauses を削除した。そのかわりとして Clauseavailable フィールドを追加した。その結果、高速になったテストケースもあるが total-order 系や dubois 系が遅くなってしまった。

@private-yusuke
Copy link
Owner Author

節が多いというより衝突が多いケースかもしれない。

@private-yusuke private-yusuke changed the title 節の数が多いケースだと非常に遅い 節の数や衝突の発生回数が多いケースだと非常に遅い Dec 7, 2020
@private-yusuke
Copy link
Owner Author

private-yusuke commented Dec 7, 2020

試しに Clause に対して新たに bool 型のフィールドを10個追加したところ(これらのフィールドには何の意味はないが)コピー時にかなり響いてくるのか、別の他のケースでも大幅な実行時間の増加が見られた。

diff --git a/source/cnf.d b/source/cnf.d
index 12d9df1..2942a0f 100644
--- a/source/cnf.d
+++ b/source/cnf.d
@@ -35,6 +35,16 @@ struct Clause {
     ID id;
     /// 節に含まれる Literal の集合
     Set!Literal literals;
+    bool test1 = true;
+    bool test2 = true;
+    bool test3 = true;
+    bool test4 = true;
+    bool test5 = true;
+    bool test6 = true;
+    bool test7 = true;
+    bool test8 = true;
+    bool test9 = true;
+    bool test10 = true;
 
     this(ID id, Set!Literal literals) {
         this.id = id;

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant