Scribble использует слишком много памяти? - PullRequest
1 голос
/ 01 сентября 2011

«писанина» - инструмент для рэкетной документации.У меня проблема со следующим примером.Когда N = 30, писанина использует ~ 500M памяти.Кажется, очень трудно иметь более 300 таких примеров в одном документе.

cat <<EOF
#lang scribble/manual
@(require scribble/eval)

@title["hello world"]   
EOF
N=30
for((i=0;i<N;i++));do
    cat <<EOF
@(examples
       (require racket/snip)
         (require racket/class)
       (make-object image-snip% "a.jpg"))

EOF
done
) > x.scrbl
scribble x.scrbl 

1 Ответ

4 голосов
/ 01 сентября 2011

Я думаю, examples каждый раз создает нового оценщика, что довольно дорого.Если возможно, создайте единый оценщик для всего документа:

#lang scribble/manual
@(require scribble/eval)
@(define the-eval (make-base-eval))

@examples[#:eval the-eval
(require racket/snip)
(require racket/class)
(make-object image-snip% "a.jpg")
]
...
@examples[#:eval the-eval
<more stuff>
]

, который должен использовать значительно меньше памяти.

...