]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
optimize code a bit to make analyze_unsolvable faster
authorMichael Schroeder <mls@suse.de>
Mon, 4 Feb 2013 18:23:10 +0000 (19:23 +0100)
committerMichael Schroeder <mls@suse.de>
Mon, 4 Feb 2013 18:23:10 +0000 (19:23 +0100)
src/rules.c
src/solver.c

index 11634e9997d04b7f73ef43766c7504effb67fe1f..b0a6f94827ed0562187d4df1eb0fa4570893bda6 100644 (file)
@@ -1841,6 +1841,8 @@ solver_reenablepolicyrules(Solver *solv, int jobidx)
   jobtodisablelist(solv, job->elements[jobidx - 1], job->elements[jobidx], &q);
   if (!q.count)
     return;
+  if (job->count > 64)
+    queue_prealloc(&allq, job->count * 2);
   for (i = solv->jobrules; i < solv->jobrules_end; i++)
     {
       r = solv->rules + i;
index e0ca140726cffaff57bbb4efd581b4bbf1309140..38b53c22dc3fa564ad11050905adf5793bc15342 100644 (file)
@@ -965,11 +965,11 @@ solver_reset(Solver *solv)
       v = solv->decisionq.elements[i];
       solv->decisionmap[v > 0 ? v : -v] = 0;
     }
-  solv->decisionq_why.count = 0;
-  solv->decisionq.count = 0;
+  queue_empty(&solv->decisionq_why);
+  queue_empty(&solv->decisionq);
   solv->recommends_index = -1;
   solv->propagate_index = 0;
-  solv->branches.count = 0;
+  queue_empty(&solv->branches);
 
   /* adapt learnt rule status to new set of enabled/disabled rules */
   enabledisablelearntrules(solv);