Walter Bright escribió:
Jari-Matti Mäkelä wrote:
bearophile wrote:
- OOP: Scala supports dynamic OOP optimizations unlike D (unless a VM is used).

Do you mean knowing a class or virtual method has no descendants? Sure, you need to know the whole program to do that, or just declare it as final.

I think the standard name is "adaptive optimization":

http://en.wikipedia.org/wiki/Adaptive_optimization

"Adaptive optimization is a technique in computer science that performs dynamic recompilation of portions of a program based on the current execution profile."

"Consider a hypothetical banking application that handles transactions one after another. These transactions may be checks, deposits, and a large number of more obscure transactions. When the program executes, the actual data may consist of clearing tens of thousands of checks without processing a single deposit and without processing a single check with a fraudulent account number. An adaptive optimizer would compile assembly code to optimize for this common case. If the system then started processing tens of thousands of deposits instead, the adaptive optimizer would recompile the assembly code to optimize the new common case. This optimization may include inlining code or moving error processing code to secondary cache."

Reply via email to