Of course it's going to initially take more CPU work to just-in-time compile something than to just interpret it.
Of course it's going to initially take more memory to just-in-time compile something than to just interpret it.
Most just-in-time compilers will also include an interpreter, so yes you get the same time and space needed to run to run the interpreter, and then you get extra time and space needed to run the compiler as well.
I don't really see why this would surprise anyone!
You just hope that over time it pays off when you get the faster code out of the end of it, which isn't something Makarov gave them a chance to do in this post. You'll notice that when he moves beyond running micro-benchmarks, and starts to run things like OptCarrot in later posts than this and with more reasonable time for warmup, he then sees the pay off of the more sophisticated just-in-time compilers.
> still the results are worse than the latest Graal Ruby
Of course it's going to initially take more memory to just-in-time compile something than to just interpret it.
Most just-in-time compilers will also include an interpreter, so yes you get the same time and space needed to run to run the interpreter, and then you get extra time and space needed to run the compiler as well.
I don't really see why this would surprise anyone!
You just hope that over time it pays off when you get the faster code out of the end of it, which isn't something Makarov gave them a chance to do in this post. You'll notice that when he moves beyond running micro-benchmarks, and starts to run things like OptCarrot in later posts than this and with more reasonable time for warmup, he then sees the pay off of the more sophisticated just-in-time compilers.
> still the results are worse than the latest Graal Ruby
https://youtu.be/emhYoI_RiOA?t=7m41s