Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What advantage does JIT compilation have over Swift or Obj-C?


JIT compilation can be faster for compiled languages too, as it allows data driven inlining and devirtualization, as well as "effective constant" propogation and runtime architecture feature detection


It can be but it never is.


To re-optimize compiled code blocks isn't without effort. Google has publicly spoken about AutoFDO and Propeller [0], after Meta had open sourced BOLT [1] in 2021.

AutoFDO has since been ported to Android and adopted by Yandex [3].

[0] https://lwn.net/Articles/995397/

[1] https://news.ycombinator.com/item?id=40868224

[2] https://news.ycombinator.com/item?id=42896716


Hard disagree. Many newer game system emulators (32-bit and up) rely on JIT or "dynarecs" to get playable speeds, and they pretty much all use high performance compiled languages already. They often double the performance over their interpreter or more.


But is that because of JIT compilation or other decisions for how the language should work (dynamic typing, GC, etc.)?


Especially after PGO (profiling guided optimization) gets most of the way there


Is there a production JIT for a compiled language that is actually faster? I understand the theory, I don't think the practice backs it up.


I believe HotSpot is usually faster than GCJ.


Depends, what do you consider Java?


Java is certainly not the fastest language out there.


Sure, but the relevant comparison isn't between languages: it's between a state-of-the-art JIT implementation of one language and a likewise-state-of-the-art AOT implementation of the same language. Unfortunately there aren't many examples of this; most languages have a preferred implementation strategy that receives much more effort than the other one.


It speeds up interpreted languages.


I get that, but what interpreted language do you want to write iOS apps in when there's Swift and Obj-C right there, with bespoke support and tooling from Apple?

And if you care about performance, why aren't you writing that code in native to begin with?


Why would you care about faster cars when planes exist?



...Javascript.


And emulation.


What is an architecture but a scripting language to interpret? ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: