At 2:09 PM -0400 4/23/04, Aaron Sherman wrote:
As for the DOD: you have an excellent point, but it extends far beyond
the hyper-operators. I'm starting to think that front-ends like the
Python compiler or the Perl 6 compiler are going to need controls over
the DOD for just the reasons you cite. After all, they know when they
are about to start doing some large looping operation that's all highly
constrained with respect to allocation. It would make sense to gather
the resources they need, lock down DOD, do what they need to do and then
unlock the DOD...

While that capability's already in there and has been for years, most of the literature I've come across indicates that, except in very specific circumstances, twiddling garbage collection behaviour is a bad idea. There are too many factors that affect performance, too much information that's not available at either code-writing or compile time to do it right, and too many subtle and/or bizarre things that cause nasty effects.


This is the sort of thing that should be left to Parrot to deal with. Apps and compilers aren't in a good position to make the right decision. (Not to say that we shouldn't have infrastructure in place to make things work better but, again, it's parrot-level stuff that apps and compilers shouldn't deal with outside of perhaps referencing the information gathered from a profiling run or twelve)
--
Dan


--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to