[racket-dev] [racket] Profiling mostly macro-generated definitions?
Sorry that I've been slow to catch on in this thread...
Yes, stack traces in JIT mode don't really work in Win64, and that's
why `profile' gives no information. I'll try to improve Win64 context
support sometime soon.
At Fri, 31 Aug 2012 07:05:14 -0500, Robby Findler wrote:
> >> I believe I'm using the 32 bit build in all those cases, tho. Are you
> >> using the 64 bit one?
> >
> > Yes.
>
>
> Thanks. I see this too. Here's a shorter program illustrating the difference.
>
> #lang racket
> (require profile)
>
> (define (f x)
> (if (zero? x)
> (continuation-mark-set->context
> (current-continuation-marks))
> (values (f (- x 1)))))
>
> (unless (zero? (random 1))
> (set! f void))
>
> (f 10)
>
>
> Running this with a 64bit racket under windows returns the empty list,
> but with a 32bit racket under windows returns a list of a bunch of
> stuff:
>
> C:\Users\robby\git\plt>Racket.exe C:\Users\robby\tmp.rkt
> (list (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33 133))
> (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 3
> 3 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33 133))
> (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0
> 33 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33 133))
> (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4
> 0 33 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33
> 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt>
> 4 0 33 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33
> 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rk
> t> 4 0 33 133)) (cons 'f (srcloc #<path:C:\Users\robby\tmp.rkt> 4 0 33
> 133)) (cons '|[running body]| (srcloc #<path:C:\U
> sers\robby\tmp.rkt> #f #f #f #f)))
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev