;;; -*- Mode:LISP; Package:USER; Base:10 -*-


(load "SYS:MICRO-COMPILER;SYSDEF" :Set-default-pathname nil)
(load "sys:verify;sysdef" :Set-default-pathname nil)
(load "sys:verify;bench;sysdef" :Set-default-pathname nil)

(defsystem benchmarks
  (:component-systems
;    micro-compilation-tools
    meta-eval
		      verify
		      rpg-benchmarks
;		      rpg-ubenchmarks

		      )
  (:do-components nil))


(defun do-the-benchmark-things (&aux
				(h (send rpg-benchmarks:*fprint-test-file* :host))
				(f1 (string-append (send h :short-name)
						      (select-processor (:lambda ":tmp;doit")
									(:cadr ":tmp;doitc")
									(:explorer ":tmp;doite"))))
				(f2 (string-append (send h :short-name)
						   ":gjc.bench.data;")))
  (select-processor
    (:explorer (setq verification-internals:*clean-dirty-pages? nil)))
  
  (if (y-or-n-p "~&Do you want to run the benchmark codes, using ~S file?"  f1)
      (verify:verify-file f1))
  (if (y-or-n-p "~&Do you want to record the results the ~S directory?" f2)
      (verification-internals:digest-consistently (string-append f1 ".out")
						  f2))
  (if (y-or-n-p "~&Do you want to load all the data from the ~S directory?" f2)
      (verification-internals:load-map (string-append f2 "*.LISP#>")))
  (if (y-or-n-p "~&Do you want to print results vs some result?")
      (verification-internals:print-ratios-vs)))

(defun benchmark-menu ()
  (verification-internals:print-a-result-menu))

