]> matita.cs.unibo.it Git - helm.git/commitdiff
I do not know why, but
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 1 Jun 2007 13:20:21 +0000 (13:20 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 1 Jun 2007 13:20:21 +0000 (13:20 +0000)
(Helm_registry.get_list Helm_registry.string "matita.includes")
is extremely slow! Removing it from the inner loop really improves performances!

helm/software/matita/matitaWiki.ml

index b8eb18b4694b020399896a26a6f7ff23cf56376c..c7c5e8838c74defd6a6687aa0b6b938e866a39c5 100644 (file)
@@ -124,6 +124,10 @@ let outer_syntax_parser () =
              with
               Failure _ -> assert false
 ;;
+
+let include_paths =
+ lazy (Helm_registry.get_list Helm_registry.string "matita.includes")
+;;
   
 let rec interactive_loop () = 
   (* every loop is terminated by a terminator both on stdout and stderr *)
@@ -166,13 +170,10 @@ let rec interactive_loop () =
                       (List.find (fun (j,_,_) -> j=i) metasenv)
                    ) open_goals))
           | _ -> ()
-        in
-        let include_paths =
-         Helm_registry.get_list Helm_registry.string "matita.includes"
         in
          run_script str 
            (MatitaEngine.eval_from_stream ~first_statement_only:true ~prompt:false
-           ~include_paths ~watch_statuses) ;
+           ~include_paths:(Lazy.force include_paths) ~watch_statuses) ;
          interactive_loop (Some (List.length !lexicon_status))
   with 
    | GrafiteEngine.Macro (floc,_) ->