Commit 2f492b2a authored by Nikodemus Siivola's avatar Nikodemus Siivola
Browse files

1.0.24.19: COMPILE-TIME reports timings at millisecond accuracy

 * Patch by Luis Oliveira.
parent 6eab504b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ changes in sbcl-1.0.25 relative to 1.0.24:
  * improvement: GET-SETF-EXPANDER avoids adding bindings for constant
    arguments, making compiler-macros for SETF-functions able to inspect
    their constant arguments.
  * improvement: COMPILE-FILE reports times with millisecond accuracy
    (thanks to Luis Oliveira)
  * optimization: CHAR-CODE type derivation has been improved, making
    TYPEP elimination on subtypes of CHARACTER work better. (reported
    by Tobias Rittweiler, patch by Paul Khuong)
+9 −6
Original line number Diff line number Diff line
@@ -758,7 +758,7 @@
                              (print-unreadable-object (s stream :type t))))
             (:copier nil))
  ;; the UT that compilation started at
  (start-time (get-universal-time) :type unsigned-byte)
  (start-time (get-internal-real-time) :type unsigned-byte)
  ;; the FILE-INFO structure for this compilation
  (file-info nil :type (or file-info null))
  ;; the stream that we are using to read the FILE-INFO, or NIL if
@@ -1606,10 +1606,13 @@
            ((try-with-type pathname "lisp"  nil))
            ((try-with-type pathname "lisp"  t))))))

(defun elapsed-time-to-string (tsec)
(defun elapsed-time-to-string (internal-time-delta)
  (multiple-value-bind (tsec remainder)
      (truncate internal-time-delta internal-time-units-per-second)
    (let ((ms (truncate remainder (/ internal-time-units-per-second 1000))))
      (multiple-value-bind (tmin sec) (truncate tsec 60)
        (multiple-value-bind (thr min) (truncate tmin 60)
      (format nil "~D:~2,'0D:~2,'0D" thr min sec))))
          (format nil "~D:~2,'0D:~2,'0D.~3,'0D" thr min sec ms))))))

;;; Print some junk at the beginning and end of compilation.
(defun print-compile-start-note (source-info)
@@ -1630,7 +1633,7 @@
  (compiler-mumble "~&; compilation ~:[aborted after~;finished in~] ~A~&"
                   won
                   (elapsed-time-to-string
                    (- (get-universal-time)
                    (- (get-internal-real-time)
                       (source-info-start-time source-info))))
  (values))

+1 −1
Original line number Diff line number Diff line
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"1.0.24.18"
"1.0.24.19"