|
|
|
|
|
by eigenspace
1318 days ago
|
|
Static types are not required for things like type inference and optimizing compilers. It's just that many dynamic languages are not written with performance in mind, and have semantics that make optimization impossible. Julia was designed from the ground up to have C level performance, and well written Julia code does that easily in throughput focused scenarios. Julia's intermediate representation which it compiles dynamic code down to is statically typed, and any dynamism just manifests itself as the compiler waiting until the types are resolved at runtime before running again and generating new specialized code. If your code is written so that the types are all inferrable, there's no pauses. |
|