Как быстрее работает рабочий режим dart VM, игнорируя статические типы? Разве это не нужно делать вывод типа во время выполнения?
Просто смотрел это вступительное видео - http://www.dartlang.org/dart-tips/dart-tips-ep-2.html и докладчик отметил:
Производственный режим на самом деле получает повышение скорости, игнорируя статические типы, потому что он может избежать многих проверок типов.
Когда в Actionscript 3.0 были представлены статические типы, статические типы поощрялись как средство увеличения скорости выполнения. Очевидно, что динамические типы заставляли виртуальную машину выводить типы во время выполнения, что замедляло бы ее, а со статическими типами виртуальная машина могла бы перемещаться без этой дополнительной работы. Почему в Dart VM все наоборот?
Спасибо!
1 ответ
Я не уверен насчет ActionScript, но я предполагаю, что в Dart типы являются полезным инструментом для программистов, чтобы лучше понять программу, особенно когда они делятся с другими программистами (и Dart Editor предоставляет много информативных отзывов, используя их). В проверенном режиме (другое время выполнения Dart) компилятор работает медленнее, потому что он собирается проверять статические типы. Затем, когда вы захотите использовать рабочую среду выполнения, он пропустит этот шаг, поскольку любой сбой, связанный с типами, уже должен был быть обработан (программистом) в проверенном режиме.