]> matita.cs.unibo.it Git - helm.git/commitdiff
A bit of profiling functions added here and there.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 19 Sep 2005 14:20:17 +0000 (14:20 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 19 Sep 2005 14:20:17 +0000 (14:20 +0000)
helm/matita/matitaDisambiguator.ml
helm/matita/matitaEngine.ml
helm/matita/matitaSync.ml

index 5a7fe0b9f45ff925fcb0ca28947f3900597c49b0..4fe206f74618953b4ed9d5110cbd553ab77d2397 100644 (file)
@@ -120,6 +120,28 @@ let disambiguate_thing ~aliases ~universe
     CoercDb.use_coercions := saved_use_coercions;
     raise exn
 
+let disambiguate_thing =
+ let profiler = CicUtil.profile "disambiguate_thing" in
+  fun ~aliases ~universe
+      ~(f:?fresh_instances:bool ->
+          aliases:DisambiguateTypes.environment ->
+          universe:DisambiguateTypes.multiple_environment option ->
+          'a -> 'b)
+      ~(set_aliases: DisambiguateTypes.environment -> 'b -> 'b)
+      (thing: 'a)
+  -> profiler.CicUtil.profile
+      (disambiguate_thing ~aliases ~universe ~f ~set_aliases) thing
+
+let disambiguate_thing ~aliases ~universe
+  ~(f:?fresh_instances:bool ->
+      aliases:DisambiguateTypes.environment ->
+      universe:DisambiguateTypes.multiple_environment option ->
+      'a -> 'b)
+  ~(set_aliases: DisambiguateTypes.environment -> 'b -> 'b)
+  (thing: 'a)
+=
+  Obj.magic disambiguate_thing ~aliases ~universe ~f ~set_aliases thing
+
 let set_aliases aliases (choices, user_asked) =
   (List.map (fun (_, a, b, c) -> aliases, a, b, c) choices),
   user_asked
@@ -137,4 +159,3 @@ let disambiguate_obj ?fresh_instances ~dbd ~aliases ~universe ~uri obj =
   assert (fresh_instances = None);
   let f = Disambiguator.disambiguate_obj ~dbd ~uri in
   disambiguate_thing ~aliases ~universe ~f ~set_aliases obj
-
index 4bb40797527a38bb03cbec392cb0e82df5675aae..3658b0c20ab93d2990a9a73717faaf35c87bf463 100644 (file)
@@ -691,6 +691,8 @@ let make_absolute paths path =
    with Unix.Unix_error _ as exc -> raise (UnableToInclude path)
 ;;
        
+let profiler_include = CicUtil.profile "include"
+
 let eval_command opts status cmd =
   let status,cmd = disambiguate_command status cmd in
   let cmd,notation_ids' = CicNotation.process_notation cmd in
@@ -709,7 +711,8 @@ let eval_command opts status cmd =
         raise (IncludedFileNotCompiled moopath) in
      let stream = Stream.of_channel ic in
      let status = ref status in
-      !eval_from_stream_ref status stream (fun _ _ -> ());
+      profiler_include.CicUtil.profile
+       (!eval_from_stream_ref status stream) (fun _ _ -> ());
       close_in ic;
       !status
   | GrafiteAst.Set (loc, name, value) -> 
index c4f8f554724a5422bed9f80c2e03a94d252727bf..4d549fadefe449220a0341fed35b0f115a2f3f86 100644 (file)
@@ -176,6 +176,10 @@ let add_obj uri obj status =
       CicEnvironment.remove_obj uri; (* -1 *)
       raise exc
   end
+
+let add_obj =
+ let profiler = CicUtil.profile "add_obj" in
+  fun uri obj status -> profiler.CicUtil.profile (add_obj uri obj) status
    
 module OrderedUri =
 struct