Как быстро работает JavaScript?

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Андрей Хохлов, 21 мар 2016.

  1. Насколько я могу судить, сам ARM примерно соответствует равночастотному 80486.
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Вполне быстр. Стоит описать конкретную задачу, чтобы можно было сказать о ней в цифрах.

    К низкоуровневой периферии доступ осуществляется через врапперы, написанные на Си, поэтому выдерживание таймингов от десятка микросекунд — не проблема.
     
  3. Довольно давно я написал несколько тестовых программ. Они были выполнены на многих машинах начиная с 8086 и до современных. Одна из них (поиск перебором выигрышного хода в игре ним) может быть выполнена и на некоторых микроконтроллерах, нужно лишь заменить вывод результата. Не совсем буквальный перевод программы на javascript здесь http://avhohlov.narod.ru/cputest.htm. Оказывается, скорость работы javascript'а стала вполне сравнима со скоростью работы компилированой программы (в новых firefox'ах всего вдвое медленнее). Меня это удивило, в некотором прошлом это было совершенно не так. Поэтому собственно и возник вопрос, ресурсы микроконтроллера все же невелики.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Пока JS в микроконтроллерах не так оптимизирован как V8 или SpiderMonkey, поэтому сверхскоростей не будет. Нужно пробовать, но думаю производительность в алгоритмах с перебором будет в десятки раз ниже.

    Однако прогресс не стоит на месте, будет становиться быстрее, а пока что подобные алгоритмы, когда они критичны можно реализовать нативно на Си, а в JavaScript вытащить только функцию для вызова.