Dlaczego języki JIT-ed są wciąż wolniejsze i mniej wydajne niż natywne C / C ++?
Tłumacze wykonują wiele dodatkowej pracy, więc zrozumiałe jest, że kończą się znacznie wolniej niż natywny kod maszynowy. Ale języki takie jak C # lub Java mają kompilatory JIT, które podobno kompilują się do natywnego kodu maszynowego platformy.
A jednak wedługtesty porównawcze które wydają się wystarczająco uzasadnione, w większości przypadków wciąż są 2-4x wolniejsze niż C / C ++? Oczywiście mam na myśli porównanie z równie zoptymalizowanym kodem C / C ++. Jestem świadomy zalet optymalizacji kompilacji JIT i ich zdolności do tworzenia kodu, który jest szybszy niż słabo zoptymalizowany C + C ++.
I po tym wszystkim hałas o tym, jak dobry jest przydział pamięci Java, dlaczego takiprzerażający zużycie pamięci? 2x do 50x, średnio około 30 razy więcej pamięci jest zużywane w tym konkretnym zestawie testów, co jest niczym do kichnięcia w ...
PAMIĘTAJ, że nie chcę rozpoczynać wojny, pytam o szczegóły techniczne, które definiują te dane dotyczące wydajności i wydajności.