[MLton] commit r4134: fixed fix to getrusage bug
Matthew Fluet
fluet@cs.cornell.edu
Thu, 3 Nov 2005 13:43:42 -0500 (EST)
>> Fair enough, but I'd still prefer to see it automatically enabled
>> when the Timer structure is used. It's rather odd behavior to not
>> get the GC timing information unless the program is invoked with
>> particular @MLton flags or using the MLton.GC structure. In
>> particular, you can't write portable SML code that uses the Basis
>> Library with predictible effects on multiple compilers.
>
> Good point. Now that I understand the situation better, I'm happy
> with your original solution, i.e. turning on rusageIsEnabled if
> MLton.Rusage.rusage is used. Then, if people use Timer or
> MLton.Rusage, they get the right behavior by default. Furthermore, if
> they don't refer to them, they automatically get the speed benefit of
> not measureing GC rusage. Finally, experts sill have
> MLton.GC.setRusage at their disposal, to disable stuff for performance
> if they want. For example, the line in MLton's main.fun will be
> unchanged, and will do the right thing.
>
> Make sense?
Yes. I prefer the coherence of rusage being enabled when you use rusage.
;-)
> I wonder if "MLton.Rusage.measureGC" would be a better place/name than
> "MLton.GC.setRusage", since that would put it closer to
> MLton.Rusage.rusage, and so make it more likely that people would
> notice it at the right time.
I think that is a good idea.