]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/scl/Debug.scl
Use Logger in Debug.scl timing-functions
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / Debug.scl
index 94112010044ae102b99fa350eb0e168ef6ffcf0d..7ccad037e2ad9629528a6339096d494b633044cf 100644 (file)
@@ -1,6 +1,8 @@
 import "Prelude"
 import "JavaBuiltin" as Java
 
+import "Logging" as LOGGER
+
 importJava "java.lang.System" where
     nanoTime :: () -> <Proc> Long
 
@@ -15,6 +17,24 @@ time f = do
     endTime = nanoTime ()
     (result, Java.l2d (endTime-beginTime) * 1e-9)
 
+reportTime :: (<e> a) -> <e> a
+reportTime f = runProc do
+    beginTime = nanoTime ()
+    result = f
+    endTime = nanoTime ()
+    time = Java.l2d (endTime-beginTime) * 1e-9
+    LOGGER.info "time \(time) s"
+    result
+    
+reportTimeM :: String -> (<e> a) -> <e> a
+reportTimeM task f = runProc do
+    beginTime = nanoTime ()
+    result = f
+    endTime = nanoTime ()
+    time = Java.l2d (endTime-beginTime) * 1e-9
+    LOGGER.info "\(task): \(time) s"
+    result
+
 """
 Prints the given text and returns
 the second parameter.