Ottimizzazioni AOT costose

3

Ho visto che ha dichiarato più volte che AOT può eseguire alcune ottimizzazioni più costose che impiegano troppo tempo per essere utilizzate da un JIT. Ma non l'ho mai visto affermare quali sono esattamente queste ottimizzazioni. Quindi mi chiedo, quali sono queste ottimizzazioni?

    
posta Winston Ewert 03.01.2013 - 23:08
fonte

1 risposta

5

Mi viene in mente l'allocazione del registro.

Secondo wikipedia :

Graph coloring allocators produce efficient code, but their allocation time is high. In cases of static compilation, allocation time is not a significant concern. In cases of dynamic compilation, such as just-in-time (JIT) compilers, fast register allocation is important. An efficient technique proposed by Poletto and Sarkar is linear scan allocation. This technique requires only a single pass over the list of variable live ranges. Ranges with short lifetimes are assigned to registers, whereas those with long lifetimes tend to be spilled, or reside in memory. The results are on average only 12% less efficient than graph coloring allocators.

Inoltre, di recente ho trovato una domanda di stackoverflow su un'ottimizzazione che il compilatore JIT non ha fare. Non sei sicuro che il tempo di compilazione sia il motivo, ma potrebbe comunque valerne la pena.

    
risposta data 03.01.2013 - 23:34
fonte

Leggi altre domande sui tag