Perché la maggior parte delle funzioni anonime non può essere compilata JIT e non sarà mai ottimizzata?

8

Ho appena letto il link sulla programmazione funzionale e mi sono imbattuto in questo:

anonymous functions can often not be JIT compiled and will never be optimized

Qualcuno può spiegarmi perché questo è il caso?

    
posta thadeuszlay 12.01.2018 - 09:04
fonte

1 risposta

14

Esiste un malinteso comune sulle funzioni nidificate, denominate o anonime, in cui la gente pensa che poiché la funzione è dichiarata in un'altra funzione, il compilatore deve ricompilarla ogni volta che viene richiamata la funzione esterna. Questo non è vero. Il codice della funzione è costante, anche se il suo contesto di chiamata non lo è, e può essere inline o ottimizzati come qualsiasi altra funzione. Questa confusione sembra particolarmente potente tra i programmatori che utilizzano principalmente funzioni annidate in implementazioni linguistiche interpretate / JIT, come in questa domanda .

Questo articolo ha alcuni altri malintesi simili che mostrano che non capisce i problemi così come pensa di farlo. Non lo considererei una fonte attendibile per l'apprendimento della programmazione funzionale.

    
risposta data 12.01.2018 - 18:54
fonte

Leggi altre domande sui tag