Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-12 Thread Dmitry Pavlov
Matthew, On 12/10/2016 06:22 PM, Matthew Flatt wrote: At Mon, 5 Dec 2016 10:19:03 -0700, Matthew Flatt wrote: There's a pending issue of making sure that `for` loops or other things are not needlessly instrumented, since they're only part of the expansion instead of the original code. We haven'

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-10 Thread Matthew Flatt
At Mon, 5 Dec 2016 10:19:03 -0700, Matthew Flatt wrote: > There's a pending issue of making sure that `for` loops or other things > are not needlessly instrumented, since they're only part of the > expansion instead of the original code. We haven't gotten back to that, > but I bet it would help wit

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-06 Thread Dmitry Pavlov
Robby, On 12/06/2016 07:20 PM, Robby Findler wrote: I'm not sure if it helps, but errortrace fully expands your program and then traverses that and adds continuation marks (this is called "annotation" in the errortrace docs). There may be a bug in this process that causes information to be lost,

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-06 Thread Robby Findler
I'm not sure if it helps, but errortrace fully expands your program and then traverses that and adds continuation marks (this is called "annotation" in the errortrace docs). There may be a bug in this process that causes information to be lost, I suppose, but the problem with the dynamically requir

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-06 Thread Dmitry Pavlov
I guess, under these circumstances, I should try and make my own continuation marks in the parser/compiler. I managed to to that. I can not say that it is a beautiful implementation, but it works. For "a+b", instead of a syntax object of '(plus a b), the parser now generates a syntax object

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-05 Thread Dmitry Pavlov
I just tried that: unfortunately, this stack trace does not seem to be able to cross the boundary of dynamically required module. What I see in (continuation-mark-set->context (current-continuation-marks)) are just lines in the "main" Racket module, and no lines that belong to the non-sexp mo

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-05 Thread Dmitry Pavlov
Matthew, Question 1: A factor of 10 is on the high side, but not unusual at the moment. There's a pending issue of making sure that `for` loops or other things are not needlessly instrumented, since they're only part of the expansion instead of the original code. We haven't gotten back to that

Re: [racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-05 Thread Matthew Flatt
Question 1: A factor of 10 is on the high side, but not unusual at the moment. There's a pending issue of making sure that `for` loops or other things are not needlessly instrumented, since they're only part of the expansion instead of the original code. We haven't gotten back to that, but I bet i

[racket-users] errortrace requires 10x time and memory for the program to compile

2016-12-05 Thread Dmitry Pavlov
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 an