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.

questionAnswers(3)

yourAnswerToTheQuestion