Skip to content

Commit e3d146b

Browse files
committed
Log memory usage in expression benchmark table
1 parent 1eaeda5 commit e3d146b

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

time.rkt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@
341341
(define count-i 0.0)
342342
(define total-u 0.0)
343343
(define count-u 0.0)
344+
(define total-mem-bytes 0)
344345

345346
(define timeline
346347
(make-hash ; this hash is to be used for the plots
@@ -360,23 +361,29 @@
360361
(when test-id
361362
(pretty-print (map read-from-string (hash-ref rec 'exprs))))
362363

364+
(define mem-before (current-memory-use 'cumulative))
363365
(match-define (list c-time v-num v-time i-num i-time u-num u-time rival-baseline-diff)
364366
(time-exprs (time-expr rec timeline sollya-reeval)))
367+
(define mem-after (current-memory-use 'cumulative))
368+
(define mem-delta (- mem-after mem-before))
369+
(define mem-mib (/ (exact->inexact mem-delta) (* 1024 1024)))
365370
(set! total-c (+ total-c c-time))
366371
(set! total-v (+ total-v v-time))
367372
(set! count-v (+ count-v v-num))
368373
(set! total-i (+ total-i i-time))
369374
(set! count-i (+ count-i i-num))
370375
(set! total-u (+ total-u u-time))
371376
(set! count-u (+ count-u u-num))
377+
(set! total-mem-bytes (+ total-mem-bytes mem-delta))
372378
(define t-time (+ c-time v-time i-time u-time))
373-
(printf "~a: ~as ~as ~as ~as\n"
379+
(printf "~a: ~as ~as ~as ~as ~as MiB\n"
374380
(~a i #:align 'left #:min-width 3)
375381
(~r t-time #:precision '(= 3) #:min-width 8)
376382
(~r v-time #:precision '(= 3) #:min-width 8)
377383
(~r i-time #:precision '(= 3) #:min-width 8)
378-
(~r u-time #:precision '(= 3) #:min-width 8))
379-
(list i t-time c-time v-num v-time i-num i-time u-num u-time rival-baseline-diff)))
384+
(~r u-time #:precision '(= 3) #:min-width 8)
385+
(~r mem-mib #:precision '(= 3) #:min-width 8))
386+
(list i t-time c-time v-num v-time i-num i-time u-num u-time mem-mib rival-baseline-diff)))
380387
(printf "\nDATA:\n")
381388
(printf "\tNUMBER OF TUNED BENCHMARKS = ~a\n" (*num-tuned-benchmarks*))
382389
(printf "\tRIVAL TIMEOUTS = ~a\n" (*rival-timeout*))
@@ -388,8 +395,11 @@
388395
(close-output-port timeline-port))
389396

390397
(define total-t (+ total-c total-v total-i total-u))
398+
(define total-mem (/ (exact->inexact total-mem-bytes) (* 1024 1024)))
391399
(printf "\nTotal Time: ~as\n" (~r total-t #:precision '(= 3)))
392-
(define footer (list "Total" total-t total-c count-v total-v count-i total-i count-u total-u))
400+
(printf "Total Memory: ~a MiB\n"
401+
(~r total-mem #:precision '(= 3)))
402+
(define footer (list "Total" total-t total-c count-v total-v count-i total-i count-u total-u total-mem))
393403
(values table footer))
394404

395405
(define (html-write port)
@@ -485,6 +495,7 @@
485495
("(s)" "s")
486496
"Unable"
487497
("(s)" "s")
498+
("Memory" "MiB")
488499
"Baseline-valid, Rival-exit"))
489500
(html-write-table html-port "Expression timing" cols)
490501
(for ([row (in-list expression-table)])

0 commit comments

Comments
 (0)