[Javabdd-checkins] JavaBDD/org/sf/javabdd FindBestOrder.java,1.6,1.7
Brought to you by:
joewhaley
|
From: CS343 s. <cs...@us...> - 2004-07-15 07:08:59
|
Update of /cvsroot/javabdd/JavaBDD/org/sf/javabdd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3896/org/sf/javabdd Modified Files: FindBestOrder.java Log Message: Index: FindBestOrder.java =================================================================== RCS file: /cvsroot/javabdd/JavaBDD/org/sf/javabdd/FindBestOrder.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** FindBestOrder.java 8 May 2004 10:50:24 -0000 1.6 --- FindBestOrder.java 15 Jul 2004 07:08:47 -0000 1.7 *************** *** 22,25 **** --- 22,31 ---- public class FindBestOrder { + static BDDFactory bdd = null; + boolean newbdd = true; + BDD b1 = null; + BDD b2 = null; + BDD b3 = null; + String filename0 = "fbo.bi"; String filename1 = "fbo.1"; *************** *** 79,82 **** --- 85,91 ---- f2.delete(); f3.delete(); + if (b1 != null) b1.free(); + if (b2 != null) b2.free(); + if (b3 != null) b3.free(); } *************** *** 107,110 **** --- 116,127 ---- } t.stop(); + if (t.totalTime == Long.MAX_VALUE) { + b1 = null; + b2 = null; + b3 = null; + bdd = null; + newbdd = true; + System.gc(); + } if (t.time < bestCalcTime) { bestOrder = varOrder; *************** *** 132,153 **** public void run() { long total = System.currentTimeMillis(); ! BDDFactory bdd = JavaFactory.init(nodeTableSize, cacheSize); ! bdd.setMaxIncrease(maxIncrease); ! readBDDConfig(bdd); int[] varorder = bdd.makeVarOrdering(reverse, varOrderToTry); bdd.setVarOrder(varorder); //System.out.println("\nTrying ordering "+varOrderToTry); try { ! BDD b1 = bdd.load(filename1); ! BDD b2 = bdd.load(filename2); ! BDD b3 = bdd.load(filename3); long t = System.currentTimeMillis(); BDD result = b1.applyEx(b2, op, b3); time = System.currentTimeMillis() - t; ! b1.free(); b2.free(); b3.free(); result.free(); } catch (IOException x) { } System.out.println("Ordering: "+varOrderToTry+" time: "+time); ! bdd.done(); totalTime = System.currentTimeMillis() - total; } --- 149,176 ---- public void run() { long total = System.currentTimeMillis(); ! if (bdd == null) { ! bdd = JavaFactory.init(nodeTableSize, cacheSize); ! bdd.setMaxIncrease(maxIncrease); ! readBDDConfig(bdd); ! } int[] varorder = bdd.makeVarOrdering(reverse, varOrderToTry); bdd.setVarOrder(varorder); //System.out.println("\nTrying ordering "+varOrderToTry); try { ! if (newbdd) { ! b1 = bdd.load(filename1); ! b2 = bdd.load(filename2); ! b3 = bdd.load(filename3); ! newbdd = false; ! } long t = System.currentTimeMillis(); BDD result = b1.applyEx(b2, op, b3); time = System.currentTimeMillis() - t; ! //b1.free(); b2.free(); b3.free(); ! result.free(); } catch (IOException x) { } System.out.println("Ordering: "+varOrderToTry+" time: "+time); ! //bdd.done(); totalTime = System.currentTimeMillis() - total; } |