guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: frames / stacks / source? was Re: coverage/profiling


From: Han-Wen Nienhuys
Subject: Re: frames / stacks / source? was Re: coverage/profiling
Date: Thu, 11 Jan 2007 11:19:05 +0100
User-agent: Thunderbird 1.5.0.9 (X11/20061219)

Ludovic Courtès escreveu:
> Hi,
> 
> Han-Wen Nienhuys <address@hidden> writes:
> 
>> Unfortunately, this is way too slow.
>>
>> **
>> address@hidden lilypond]$ time lilypond input/example-1
>> GNU LilyPond 2.11.10
>>
>> Hangup
>>
>> real    0m2.534s
>> user    0m2.456s
>> sys     0m0.063s
>>
>>
>> address@hidden 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?

this is with enter frame, which does 

 (define (record-coverage key continuation . args)
  (let*
      ((frame (last-stack-frame continuation))
       (source (frame-source frame))
       (file (and source (source-property source 'filename)))
       (cov-vector (and file (hash-ref covered-files file)))
       (line (and cov-vector (source-property source 'line)))
       )
    
    (if line
        (vector-set! cov-vector
                     line
                     (1+ (vector-ref cov-vector line))
                     ))))

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

the program I posted was tested with GUILE 1.8, perhaps you can start from 
there.
  


-- 
 Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]