was [Re: Any discussion of "compact" subset for mobile devices?] "Brendan Eich" wrote: > Why do you believe static typing is necessary for performance? Just > curious.
I woke up in the middle of night, remembering one detail we hit in 1992. Advanced OO programming styles lead to inner loops that contain (potentially subclassed) method dispatches. THAT'S the bottleneck, not the speed of arithmetic computations. Doesn't JIT well, because each "inner loop" (code bottleneck involving repetition) is a cooperative effort between multiple objects, any one of which might show up as a different subclass in the next loop iteration. Not awake enough right now to think through whether more modern JITs (tracing) successfully unravel this case. If so, then it is a matter of careful cache design. If not, then I think this is where static typing (or more precisely, constructing an object knowing that it has given interfaces; in theory this could be done for dynamically typed objects if you can determine at construction that it satisfies the interface) makes possible higher performance execution than dynamic typing. ~TMSteve _______________________________________________ Es4-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es4-discuss
