Google Dart SDK 1.3 Обеспечивает Более быструю Асинхронность


Обновленная версия Google Dart SDK повышает производительность виртуальной машины Dart до Node.js. Утверждается, что новая версия в два раза быстрее, чем ее предшественница, для асинхронного кода Dart в сочетании с операциями ввода-вывода на стороне сервера.

Согласно объявлению о новой версии в блоге Chrome, Андерс Йонсен, “Одержимый скоростью инженер-программист”, сказал:

“Это ставит Dart в ту же лигу, что и популярные серверные среды выполнения, и позволяет создавать высокопроизводительные серверные приложения для виртуальных машин Dart.”

Команда измерила улучшение запросов в секунду с помощью трех простых тестов HTTP: Hello, File и JSON. Hello, который улучшился на 130%, обеспечивает измерение количества базовых соединений, которые может обрабатывать HTTP-сервер, просто измеряя HTTP-сервер, отвечающий фиксированной строкой.

Файловый бенчмарк, который имитирует доступ сервера к статическому контенту и его обслуживание, улучшился почти на 30%.

Тест JSON действует как прокси-сервер для производительности приложений REST, и он показал улучшение почти в два раза пропускной способности.

Данные для приведенной выше диаграммы были собраны на машине Ubuntu 12.04.4 LTS с 8 ГБ оперативной памяти и процессором Intel(R) Core(TM) i5-2400, работающем на сервере с одним изолированным сервером на Dart VM версии 1.1.3, 1.2.0 и 1.3.0-dev.7.5.

Вы можете увидеть подробные результаты на странице производительности дротика. 

Джонсен говорит, что улучшения произошли в результате сочетания изменений. Стек HTTP, написанный на Dart, был переработан, чтобы использовать преимущества сборщика мусора поколения виртуальной машины Dart. В Linux и Mac команда сократила количество необходимых системных вызовов для асинхронного ввода-вывода, что значительно сократило задержку ввода-вывода.

Некоторые серверные приложения были профилированы командой, которая выявила недостающие возможности оптимизации в оптимизирующем компиляторе виртуальной машины Dart.

Команда виртуальных машин также настроила компилятор (например, стратегии встраивания и вызовы закрытия) для более эффективного асинхронного кода Dart.Профилирование также использовалось для идентификации неоптимальных элементов в dart:core и dart:async.

В дополнение к изменениям производительности был улучшен редактор Dart с поддержкой угловых завершений кода и улучшенной поддержкой углового анализа и рефакторинга. Существует новый учебник по написанию HTTP-клиентов и серверов, в котором показано, как создать веб-сервер с помощью Dart, а также руководство программиста по приложениям командной строки с помощью Dart. Последняя стабильная версия Dart также доступна для скачивания.


Добавить комментарий