Steve Fink (2013-09-05T06:17:54.000Z)
domenic at domenicdenicola.com (2013-09-09T01:46:03.605Z)
On 09/04/2013 04:15 PM, Filip Pizlo wrote: > How so? It is true that some VM implementations will be better than > others. But ultimately every VM can implement every optimization that > every other VM has; in fact my impression is that this is exactly what > is happening as we speak. > > So, it doesn't make much sense to make language design decisions > because it might make some implementor's life easier right now. If > you could argue that something will /never/ be efficient if we add > feature X, then that might be an interesting argument. But as soon as > we identify one sensible optimization strategy for making something > free, I would tend to think that this is sufficient to conclude that > the feature is free and there is no need to constrain it. If we don't > do this then we risk adding cargo-cult performance features that > rapidly become obsolete. This general argument bothers me slightly, because it assumes no opportunity cost in making something free(ish). Even if you can demonstrate that allowing X can be made fast, it isn't a complete argument for allowing X, since disallowing X might enable some other optimization or feature or semantic simplification. Such demonstrations are still useful, since they can shoot down objections based solely on performance. But maybe I'm misinterpreting "...sufficient to conclude...that there is no need to constrain [the feature]." Perhaps you only meant that there is no need to constrain it *for reasons of performance*? If so, then you only need consider the opportunity cost of other optimizations.