mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 07:30:32 +02:00
vm no longer measures bogoclock or times, relies on os for that
* libguile/vm.h (struct scm_vm): Remove "time" and "clock" members. The time was bogusly measured, and the "clock" measured instructions retired, which is not a very useful measurement, and it was causing lots of memory accesses. Not that I have done a proper profile, though... (scm_vm_stats): Remove this procedure, which provided access to "time" and "clock". * libguile/vm.c: * libguile/vm-engine.h: * libguile/vm-engine.c: * libguile/vm-i-system.c: Adapt to scm_vm changes and scm_vm_stats removal. * module/system/repl/command.scm: * module/system/vm/vm.scm: Adapt to vm-stats removal by removing vm-stats from <repl>.
This commit is contained in:
parent
349d5c4428
commit
6c20a0b34b
8 changed files with 4 additions and 55 deletions
|
@ -413,10 +413,8 @@ Garbage collection."
|
|||
"statistics
|
||||
Display statistics."
|
||||
(let ((this-tms (times))
|
||||
(this-vms (vm-stats (repl-vm repl)))
|
||||
(this-gcs (gc-stats))
|
||||
(last-tms (repl-tm-stats repl))
|
||||
(last-vms (repl-vm-stats repl))
|
||||
(last-gcs (repl-gc-stats repl)))
|
||||
;; GC times
|
||||
(let ((this-times (assq-ref this-gcs 'gc-times))
|
||||
|
@ -465,20 +463,9 @@ Display statistics."
|
|||
(display-time-stat "child user" this-cutime last-cutime)
|
||||
(display-time-stat "child system" this-cstime last-cstime)
|
||||
(newline))
|
||||
;; VM statistics
|
||||
(let ((this-time (vms:time this-vms))
|
||||
(last-time (vms:time last-vms))
|
||||
(this-clock (vms:clock this-vms))
|
||||
(last-clock (vms:clock last-vms)))
|
||||
(display-stat-title "VM statistics:" "diff" "total")
|
||||
(display-time-stat "time spent" this-time last-time)
|
||||
(display-diff-stat "bogoclock" #f this-clock last-clock "clock")
|
||||
(display-mips-stat "bogomips" this-time this-clock last-time last-clock)
|
||||
(newline))
|
||||
;; Save statistics
|
||||
;; Save statistics
|
||||
(set! (repl-tm-stats repl) this-tms)
|
||||
(set! (repl-vm-stats repl) this-vms)
|
||||
(set! (repl-gc-stats repl) this-gcs)))
|
||||
|
||||
(define (display-stat title flag field1 field2 unit)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#:use-module (system base language)
|
||||
#:use-module (system vm vm)
|
||||
#:export (<repl> make-repl repl-vm repl-language repl-options
|
||||
repl-tm-stats repl-gc-stats repl-vm-stats
|
||||
repl-tm-stats repl-gc-stats
|
||||
repl-welcome repl-prompt repl-read repl-compile repl-eval
|
||||
repl-parse repl-print repl-option-ref repl-option-set!
|
||||
puts ->string user-error))
|
||||
|
@ -34,7 +34,7 @@
|
|||
;;; Repl type
|
||||
;;;
|
||||
|
||||
(define-record/keywords <repl> vm language options tm-stats gc-stats vm-stats)
|
||||
(define-record/keywords <repl> vm language options tm-stats gc-stats)
|
||||
|
||||
(define repl-default-options
|
||||
'((trace . #f)
|
||||
|
@ -46,8 +46,7 @@
|
|||
#:language (lookup-language lang)
|
||||
#:options repl-default-options
|
||||
#:tm-stats (times)
|
||||
#:gc-stats (gc-stats)
|
||||
#:vm-stats (vm-stats (the-vm))))
|
||||
#:gc-stats (gc-stats)))
|
||||
|
||||
(define (repl-welcome repl)
|
||||
(let ((language (repl-language repl)))
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#:export (vm? the-vm make-vm vm-version
|
||||
vm:ip vm:sp vm:fp vm:last-ip
|
||||
|
||||
vm-load vm-option set-vm-option! vm-version vm-stats
|
||||
vm-load vm-option set-vm-option! vm-version
|
||||
vms:time vms:clock
|
||||
|
||||
vm-trace-frame
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue