Warum sind JIT-ed-Sprachen immer noch langsamer und weniger speichereffizient als natives C / C ++?
Dolmetscher erledigen viel zusätzliche Arbeit, so dass es verständlich ist, dass sie wesentlich langsamer als nativer Maschinencode enden. Sprachen wie C # oder Java verfügen jedoch über JIT-Compiler, die angeblich zur Kompilierung von systemeigenem Maschinencode auf der Plattform verwendet werden.
Und doch nachBenchmarks das scheint echt zu sein, sind die meisten fälle doch 2-4x langsamer als c / c ++? Natürlich meine ich im Vergleich zu C / C ++ gleichermaßen optimierten Code. Ich bin mir der Optimierungsvorteile der JIT-Kompilierung und ihrer Fähigkeit, Code zu erstellen, der schneller ist als schlecht optimiertes C + C ++, sehr wohl bewusst.
Und nach all dem Rauschen darüber, wie gut die Java-Speicherzuordnung ist, warum so einschrecklich Speichernutzung? 2x bis 50x, im Durchschnitt wird 30x mehr Speicher für diese bestimmte Benchmark-Suite verwendet, was nichts Besonderes ist ...
HINWEIS: Ich möchte keine WAR starten. Ich frage nach den technischen Details, die diese Leistungs- und Effizienzwerte definieren.