1) the trace output runs now through a dedicated debug interpreter, so that resource allocations due to creating trace output shouldn't disturb the running interpreter. Just subroutine call/return info goes through the original interpreter.

  ./parrot -t1 foo.pir

should now have the same resource usage as w/o tracing

2) I've beautified the output a bit (I hope)

3) Tracing into a file is now running in reasonable time:

21:21 <+svnbot6> r11597 | leo++ | trunk:
21:21 <+svnbot6> : Debugging - speedup tracing into a file a bit ;)
21:21 <+svnbot6> : $ time ./parrot -t1 ack.pir 3 >1 2>&1
21:21 <+svnbot6> : real    2m47.259s      # orig
21:21 <+svnbot6> : real    0m1.538s       # now

(timings from an unoptimized build)
leo

Reply via email to