[Re-adding dev]

Did you observe similar increases with the previous version of Racket
(i.e. before my fix)? Maybe with previous versions of your program (that
didn't trigger the SC bug you reported earlier).

The fix I pushed *does* reduce the caching done during contract
generation, which could explain a performance regression. But if the fix
caused the program to go from "erroring" to "taking a long time to
compile", the fix may just have uncovered an existing performance issue
that the error was masking.

The question at this point is: where is that time being spent?

To find out:
- Start without any compiled files for your program (i.e. clear out the
  relevant `compiled` directories)
- Run: PLTSTDERR=debug@tr-timing raco make my-program.rkt

That should dump some timing info that shows where time is being spent
in TR.

Depending on the results, there may be different solutions.

Vincent



On Wed, 09 Sep 2015 04:12:33 -0500,
Antonio Leitao wrote:
> 
> Hi Vincent,
> 
> It seems that we now have a different problem. I tried a recent snapshot
> (6.2.900.15--2015-09-08(5f2d44c/a)) and although that bug is no longer
> present, it now takes forever to typecheck my code.
> 
> I have a type definition that looks like
> 
> (define-type (Foo T) (U (s1 T) (s2 T) (s3 T) ...))
> 
> where the s1, s2, ... are struct types, and I have a very small number
> of polymorphic functions that accept a (Foo T). Now, if I comment all
> but one of the (si T) in the Foo type definition, it takes 17 seconds
> from pressing the Run button in DrRacket (background expansion disabled)
> till the prompt appears in the REPL, which is already a long (but
> acceptable) amount of time.
> 
> However, if I incrementally "uncover" additional (si T) in the Foo type
> definition, I get the following times (the column on the left is the
> number of (si T) visible in the Foo type definition):
> 
> 1 - 17s
> 2 - 19s
> 3 - 20s
> 4 - 21s
> 5 - 25s
> 6 - 44s
> 7 - 113s
> 8 - ran out of memory, after 195s
> 
> Note that these rough timings were obtained in a very fast desktop.
> 
> Any ideas?
> 
> Best,
> António.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-dev+unsubscr...@googlegroups.com.
To post to this group, send email to racket-dev@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/m24mj3dyct.wl-stamourv%40eecs.northwestern.edu.
For more options, visit https://groups.google.com/d/optout.

Reply via email to