
The layer is now redundant, since everything left in "pkgs" is in the "racket-pkgs" category.
30 lines
809 B
Scheme
30 lines
809 B
Scheme
|
|
(use-syntax (ice-9 syncase))
|
|
|
|
(define (msecs v)
|
|
(quotient (* v 1000) internal-time-units-per-second))
|
|
|
|
(define (time* thunk)
|
|
(let ((start (times))
|
|
(start-gc (gc-run-time)))
|
|
(let ((v (thunk)))
|
|
(let ((end (times))
|
|
(end-gc (gc-run-time)))
|
|
(display "user: ")
|
|
(display (msecs (- (tms:utime end) (tms:utime start))))
|
|
(display " system: ")
|
|
(display (msecs (- (tms:stime end) (tms:stime start))))
|
|
(display " real: ")
|
|
(display (msecs (- (tms:clock end) (tms:clock start))))
|
|
(display " gc: ")
|
|
(display (msecs (- end-gc start-gc)))
|
|
(newline)))))
|
|
|
|
(define-syntax time
|
|
(syntax-rules ()
|
|
((_ expr) (time* (lambda () expr)))))
|
|
|
|
(define bitwise-and logand)
|
|
(define bitwise-ior logior)
|
|
(define bitwise-not lognot)
|