← Back to context

Comment by cornholio

12 hours ago

That's a JIT. Yes, you can do all sorts of optimizations in a JIT, because you do it at runtime using runtime information, and always keeping an escape hatch, so the static code bails when invoked with data it was not compiled to handle. This kind of hatch is used here with <any> wrapping.

JIT is a technique to accelerate dynamic languages at runtime to near machine performance while keeping dynamic ergonomics; but it can't transcend the AOT / runtime wall.

Julia sits somewhere between jit and aot, there is no interpreter part, if something is to be exectued, it's compiled to machine code.

The point is that you can have dynamic language that executes natively.

You can also compile whole program aot in Julia.