I see that there's a big difference in the effect of debugging mode for this example in v6.3-v6.4 compared to earlier versions.
On my machine: Racket DrRacket with debugging v6.2 ~2500 ms ~3800 ms v6.4 ~2500 ms ~63000 ms In both versions, debugging instrumentation is applied at the granularity of terms that have source locations. The idea was that having a source location is a good indication that the code is something the user wrote, and not in a library. Starting with v6.3, however, compiled bytecode preserves source locations for syntax literals --- so, code in a macro implementation has a source location when it appears in an expansion. With v6.3 and later, debugging instrumentation is added at many more program points in the expansion of the `for` macro. Instead of using the existence of a source location to determine where to add instrumentation, debugging should be based on the details of the source location. I'm not immediately sure of the right rule, but I'll work on it. Another direction is to improve the overhead of the debugging instumentation, even when it is applied at a fine granularity. I'm not clear on why it's so expensive in this case, and I think it should be easy to improve (but I might be wrong about that). At Wed, 2 Mar 2016 22:06:54 -0500, Matthias Felleisen wrote: > > 1. Don’t ever measure anything in drracket (version 6.4.1 or earlier). > > 2. Are you comparing two different installations of Racket like the OP does? > Or are you just saying something is slow sometimes? > > > > > > On Mar 2, 2016, at 8:21 PM, Alex Harsanyi <alexharsa...@gmail.com> wrote: > > > > I have the same problem with Racket 6.4 64Bit Windows (running on Windows > > 7): > > > >> (time (total 1000000000)) > > cpu time: 85520 real time: 88070 gc time: 204 > > > > BTW, my "Choose Language" dialog box (Ctrl+L) has the following selected: > > > > * Debugging > > * Populate "compiled directories" > > * Preserve stack trace > > * Enforce constant definitions > > > > When disabling the "Debugging", the time goes down significantly: > > > >> (time (total 1000000000)) > > cpu time: 4555 real time: 5036 gc time: 63 > > > > If I also disable the "Preserve stack trace option", the time goes down a > bit more: > > > >> (time (total 1000000000)) > > cpu time: 3619 real time: 3662 gc time: 31 > > > > I did not expect the debugging option to have such a huge impact. I don't > even know what it does, as there is a separate "Debug" button in the toolbar, > which seems to work even when the option is disabled. > > > > BTW, I ran raco setup as suggested in a previous message and after that, > DrRacket would not start up anymore [1] and I had to do a fresh install. > Racket was installed from the default installer package from racket-lang.org. > No additional packages added and the installation was not modified in any > way. > > > > Best Regards, > > Alex. > > > > [1] > https://drive.google.com/file/d/0B5h4XOdkim72bm04eDBGNWpFZ0E/view?usp=sharing > > > > -- > > 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. > > -- > 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. -- 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.