Dart&#x27;s performance is pretty good; its authors are VM geniuses.<p>If it doesn&#x27;t already[1], it could leverage the optional typing for block versioning on initial compilation, and assume that version is correct most of the time (generating the most-optimized version initially because you expect to not bail out of this block version). This way you wouldn&#x27;t have to warm up for type inference. If the program type-checks you can get almost static type performance.<p>Dart also has an advantage in app startup time since you can just load your snapshot.<p>--<p>1: I&#x27;m not familiar with the internals of the Dart VM, but I don&#x27;t believe it leverages block versioning[2] at the moment. That seems like a low hanging fruit when you already have type hints. Your initial baseline compile can generate a specialized version from the get-go then lazily add other blocks if the type hints are wrong.<p>2: <a href="http:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;1411.0352" rel="nofollow">http:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;1411.0352</a>