I'm profiling one of the contract benchmarks[1], and I noticed that
sometimes (about 10 out of 300 samples), `continuation-mark-set->context'
would return an empty stack trace. This number is cut down by about half
if I disable the JIT. These samples seem to be spread out throughout
execution (i.e. not all at the beginning or at the end).

I think this may be a regression. At least I've never observed that
before (and since this causes the contract profiler to error (a bug
which I'll fix), I probably would have noticed).

This may be a problem because it would reduce the precision of the
profiler by undercounting what actually was on the stack while these
empty samples are taken.


To observe this, clone the contract benchmarks repository[1], then run
the attached version of render-guide.rkt inside that directory. To count
the number of empty stack traces, apply the attached patch to the
profiler.


Vincent


[1] https://github.com/stamourv/contract-benchmarks


Attachment: render-guide.rkt
Description: Binary data

Attachment: 0001-Have-profiler-print-number-of-empty-stack-traces.patch
Description: Binary data

_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to