use official/portable Multithreading.max_threads_value, which is also subject to user preferences (NB: Thread.numProcessors is apt to lead to surprises like very high numbers for systems with hyperthreading);
authorwenzelm
Wed, 10 Nov 2010 17:53:41 +0100
changeset 40473 a6db1a68fe3c
parent 40472 34823a2cba08
child 40474 576b88b1dce9
use official/portable Multithreading.max_threads_value, which is also subject to user preferences (NB: Thread.numProcessors is apt to lead to surprises like very high numbers for systems with hyperthreading);
src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Wed Nov 10 16:05:15 2010 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Wed Nov 10 17:53:41 2010 +0100
@@ -154,15 +154,13 @@
       prover :: avoid_too_many_local_threads thy n provers
     end
 
-fun num_processors () = try Thread.numProcessors () |> the_default 1
-
 (* The first ATP of the list is used by Auto Sledgehammer. Because of the low
    timeout, it makes sense to put SPASS first. *)
 fun default_provers_param_value ctxt =
   let val thy = ProofContext.theory_of ctxt in
     [spassN, eN, vampireN, sine_eN (* FIXME: , smtN *)]
     |> map_filter (remotify_prover_if_not_installed ctxt)
-    |> avoid_too_many_local_threads thy (num_processors ())
+    |> avoid_too_many_local_threads thy (Multithreading.max_threads_value ())
     |> space_implode " "
   end