[Git][cmucl/cmucl][rtoy-issue-87-add-cl-bench] Store the results in our directory instead of /var/tmp
Raymond Toy pushed to branch rtoy-issue-87-add-cl-bench at cmucl / cmucl Commits: f15977bd by Raymond Toy at 2020-09-04T11:03:27-07:00 Store the results in our directory instead of /var/tmp Adjust where the reports are stored when running the benchmarks and where the reports are read from. Instead of /var/tmp, use cl-bench/results. This will make it easier to find these files in CI. - - - - - 2 changed files: - benchmarks/cl-bench/report.lisp - benchmarks/cl-bench/support.lisp Changes: ===================================== benchmarks/cl-bench/report.lisp ===================================== @@ -14,18 +14,28 @@ (in-package :cl-user) +(defvar *benchmark-file-directory* + (merge-pathnames (make-pathname :directory '(:relative "results")) + (make-pathname :directory (pathname-directory *load-truename*))) + "Directory where the benchmark report file is stored") + (defconstant +implementation+ (concatenate 'string (lisp-implementation-type) " " (lisp-implementation-version))) (defun bench-analysis () - (let (data implementations benchmarks) - (dolist (f (directory "/var/tmp/CL-benchmark*.*")) + (let ((benchmark-path (concatenate 'string + (namestring *benchmark-file-directory*) + "CL-benchmark*.*")) + data implementations benchmarks) + (dolist (f (directory benchmark-path)) + (format t "*** f = ~A~%" f) (ignore-errors (with-open-file (f f :direction :input) (let ((*read-eval* nil)) (push (read f) data))))) + (format t "*** data = ~A~%" data) (setq implementations (delete +implementation+ (mapcar #'car data) :test #'string=)) (setq benchmarks (reverse (mapcar #'first (cdr (first data))))) (format t "~25a~10@a" "Benchmark" "Reference") ===================================== benchmarks/cl-bench/support.lisp ===================================== @@ -21,6 +21,10 @@ (defvar *benchmarks* '()) (defvar *benchmark-results* '()) +(defvar *benchmark-file-directory* + (merge-pathnames (make-pathname :directory '(:relative "results")) + (make-pathname :directory (pathname-directory *load-truename*))) + "Directory where the benchmark report file is stored") (defvar +implementation+ (concatenate 'string @@ -117,11 +121,14 @@ (defun benchmark-report-file () + (ensure-directories-exist *benchmark-file-directory*) (multiple-value-bind (second minute hour date month year) (get-decoded-time) (declare (ignore second)) + ;; Should we use pathnames directly instead of creating a string + ;; naming the file? (format nil "~aCL-benchmark-~d~2,'0d~2,'0dT~2,'0d~2,'0d" - #+win32 "" #-win32 "/var/tmp/" + *benchmark-file-directory* year month date hour minute))) ;; grr, CLISP doesn't implement ~<..~:> View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/f15977bd7d814fd5ea30cf08... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/f15977bd7d814fd5ea30cf08... You're receiving this email because of your account on gitlab.common-lisp.net.
participants (1)
-
Raymond Toy