Add a test which times TR module loading.
original commit: 803f1db884590511629f79869a801086cb47c2e0
This commit is contained in:
parent
9d0900650f
commit
f994980176
25
collects/tests/typed-racket/performance/module-loading.rkt
Normal file
25
collects/tests/typed-racket/performance/module-loading.rkt
Normal file
|
@ -0,0 +1,25 @@
|
|||
#lang racket/load
|
||||
|
||||
(require racket/base racket/stream racket/syntax)
|
||||
|
||||
(define (make-mod name required-name)
|
||||
#`(module #,name typed/racket/base
|
||||
(require '#,required-name)))
|
||||
|
||||
|
||||
|
||||
(define (make-program N)
|
||||
(define the-names
|
||||
(let ()
|
||||
(define (names) (stream-cons (generate-temporary) (names)))
|
||||
(names)))
|
||||
#`(begin
|
||||
(module #,(stream-first the-names) typed/racket/base)
|
||||
#,@(for/list ((_ N)
|
||||
(name (stream-rest the-names))
|
||||
(required-name the-names))
|
||||
#`(begin
|
||||
#,(make-mod name required-name)
|
||||
(require '#,name)))))
|
||||
|
||||
(time (eval (make-program 40)))
|
Loading…
Reference in New Issue
Block a user