work-in-progress towards full normalization support
[sbcl.git] / src / code / time.lisp
index b572f36..8cf2e00 100644 (file)
@@ -95,9 +95,7 @@ Includes both \"system\" and \"user\" time."
   #!+sb-doc
   "Return a single integer for the current time of day in universal time
 format."
-  (multiple-value-bind (res secs) (sb!unix:unix-gettimeofday)
-    (declare (ignore res))
-    (+ secs unix-to-universal-time)))
+  (+ (get-time-of-day) unix-to-universal-time))
 
 (defun get-decoded-time ()
   #!+sb-doc
@@ -259,13 +257,15 @@ format."
 
 (defvar *gc-run-time* 0
   #!+sb-doc
-  "the total CPU time spent doing garbage collection (as reported by
-   GET-INTERNAL-RUN-TIME)")
+  "Total CPU time spent doing garbage collection (as reported by
+GET-INTERNAL-RUN-TIME.) Initialized to zero on startup. It is safe to bind
+this to zero in order to measure GC time inside a certain section of code, but
+doing so may interfere with results reported by eg. TIME.")
 (declaim (type index *gc-run-time*))
 
 (defun print-time (&key real-time-ms user-run-time-us system-run-time-us
                    gc-run-time-ms processor-cycles eval-calls
-                   lambda-conversions page-faults bytes-consed
+                   lambdas-converted page-faults bytes-consed
                    aborted)
   (let ((total-run-time-us (+ user-run-time-us system-run-time-us)))
     (format *trace-output*
@@ -294,7 +294,7 @@ format."
                 100.0
                 (float (* 100 (/ (round total-run-time-us 1000) real-time-ms))))
             eval-calls
-            lambda-conversions
+            lambdas-converted
             processor-cycles
             page-faults
             bytes-consed
@@ -500,8 +500,10 @@ EXPERIMENTAL: Interface subject to change."
                     (note :aborted aborted #'not)
                     (note :bytes-consed (max (- new-bytes-consed old-bytes-consed) 0))
                     (note :page-faults page-faults #'zerop)
-                    (note :processor-cycles cycles #'zerop)
-                    (note :lambdas-converted sb!c::*lambda-conversions* #'zerop)
+                    ;; cycle counting isn't supported everywhere.
+                    (when cycles
+                      (note :processor-cycles cycles #'zerop)
+                    (note :lambdas-converted sb!c::*lambda-conversions* #'zerop))
                     (note :eval-calls *eval-calls* #'zerop)
                     (note :gc-run-time-ms gc-internal-run-time)
                     (note :system-run-time-us system-run-time)