From c9a1dc781e7968aed7094284624871fc9f09dfcd Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 1 Jan 2016 12:03:06 -0700 Subject: [PATCH] raco setup: use lazy ".zo" parsing for dpeendency checking Lazy ".zo" parsing make the dependency check take about half as long. --- racket/collects/setup/private/pkg-deps.rkt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/racket/collects/setup/private/pkg-deps.rkt b/racket/collects/setup/private/pkg-deps.rkt index 09138ab566..3c897ad0ce 100644 --- a/racket/collects/setup/private/pkg-deps.rkt +++ b/racket/collects/setup/private/pkg-deps.rkt @@ -368,10 +368,12 @@ (define in-mod `(lib ,(string-join (append (map path-element->string coll-path) (list base)) "/"))) + (define zo-path (build-path dir zo-f)) (define mod-code (call-with-input-file* - (build-path dir zo-f) + zo-path (lambda (i) - (parameterize ([read-accept-compiled #t]) + (parameterize ([read-accept-compiled #t] + [read-on-demand-source zo-path]) (read i))))) ;; Recur to cover submodules: (let loop ([mod-code mod-code])