Hi,

Han-Wen Nienhuys <[EMAIL PROTECTED]> writes:

> Unfortunately, this is way too slow.
>
> **
> [EMAIL PROTECTED] lilypond]$ time lilypond input/example-1
> GNU LilyPond 2.11.10
>
> Hangup
>
> real    0m2.534s
> user    0m2.456s
> sys     0m0.063s
>
>
> [EMAIL PROTECTED] lilypond]$ time lilypond -dcoverage input/example-1
> GNU LilyPond 2.11.10
>
> Hangup
>
> real    1m22.184s
> user    1m19.808s
> sys     0m0.235s
> **

Is this with just the `enter-frame' trap enabled (with corresponding
handler), or are there any additional traps?  What do(es) the handler(s)
do?

Besides, it _really_ doesn't work here (see backtrace in my previous
post):

  $ guile-1.8.0 
  guile> (trap-set! enter-frame-handler (lambda args (format #f "args: ~a~%" 
args)))
  (exit-frame-handler #f apply-frame-handler #f enter-frame-handler #<procedure 
#f args> traps)
  guile> (trap-enable 'enter-frame)
  Segmentation fault (core dumped)

Did I miss something, or did I mess up with my Guile?

> Perhaps the better option is to somehow instrument the code such that
> memoization of an expression records the coverage. Then we won't get 
> execution counts, but it should be almost as fast as normal running.

If such instrumentation were to be added to `eval', we'd have to make
sure that it gets commented out when we don't want it (just like
debugging code is pruned from `ceval ()').

Thanks,
Ludovic.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to