5 ms·
The article will be a confusing read to someone who does not know what a JIT is. Look at the paper after the heading "What is a JIT?" The first paragraph move
by cturner 3y ago
The article will be a confusing read to someone who does not know what a JIT is.
Look at the paper after the heading "What is a JIT?"
The first paragraph moves towards an answer - "compilation design that implies that compilation happens on demand when the code is run the first time" But then it backtracks on this and says that it could mean many things, and gets wishy-washy, and says that python is already a JIT.
The second paragraph says, "What people tend to mean when they say a JIT compiler, is a compiler that emits machine code." What point is the author trying to make here? An Ahead of Time compiler emits machine code. But then it goes on to say that an Ahead of Time compiler also emits machine code. So what is a JIT?
The third paragraph starts talking about about mechanism, which is a distraction from the question it posed above - what is a JIT?
The article talks around points instead of making points.
- helboi4 3y agoYeah as a junior without a CS degree I was reading this article thinking "this is very interesting" but found it very hard to really grasp the difference between Ahead of Time and JIT from their explanations. Just that it was different from the previous python interpreter method, which seems woefully inefficient. I do know that Java has a JIT and I've read about this, but I guess it became quickly clear that I didn't really understand it since I couldn't follow this article. I think I will need to read more about this elsewhere and come back to fully grasp the impact.
- pjc50 3y ago> very hard to really grasp the difference between Ahead of Time and JIT JIT = "just in time" = bytecode is converted to native code while the program is running, either at the startup of the program or just before a particular function is called. Sometimes even after the function is called (since the JIT process itself takes time, it may be optimal to only run it once a function has been called N times or taken M microseconds total run time) AOT = "ahead of time" = bytecode is converted to native code before the program starts. i.e. by the developer during their distribution or deployment process. AOT compilation knows nothing about the specific run time conditions.
- dikei 3y agoIt's pretty clear to me. >> JIT, or “Just in Time” is a compilation design that implies that compilation happens on demand when the code is run the first time. >> What people tend to mean when they say a JIT compiler, is a compiler that emits machine code. A JIT compiler is a compiler that emits machine code the first time that code is run, vs an AOT compiler which emits machine code when the code is built.
- vanderZwan 3y agoDid you already know what a JIT was before reading the article though? Confirming what you already know is a different thing than grokking it the first time. Plus in my brief but intense experience as someone teaching programming to artistic types who are scared of maths, it's more useful to evaluate explanations by the possibility of being misunderstood and overwhelming, than the possibility of correctly interpreting it.