Hello,

I have a program that takes 17 seconds and ~260 MB of memory.
If I use errortrace on it, the numbers grow about tenfold: 150 seconds and 
2600+ MB.

That is just compilation; in the runtime the program does almost nothing and 
terminates quickly.
I know little about how errortrace works and ask for help.
My understanding of the problem is shaped into three questions.

Question 1. Is it normal for errortrace?

Note 1: I am using errortrace just for getting the stack trace of a runtime 
error:

(with-handlers
      ((exn:fail?
        (lambda (e)
          (for ((stack-elem (continuation-mark-set->list
                             (exn-continuation-marks e) errortrace-key)))
             ......


Note 2: The program which stack trace I am interested in is require-d
dynamically, and is actually written in non-lispy language.
errortrace does a great job in planting its continuation marks
into syntax objects that are generated by the parser and
the compiler for that language.


Question 2: Is there an option for errortrace to reduce its time and memory
consumption and still provide the continuation marks for stack trace?
I tried (profiling-record-enabled #f), it did not help.

Question 3: Is there another way to programmatically get a stack trace for a
dynamically loaded program? Am I using a sledgehammer to crack a nut?


Best regards,

Dmitry

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to