The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

03.09.2008 17:30  JavaScript реализации Ruby, выполненная в V8 VM, оказалась быстрее интерпретатора Ruby

По предварительным тестам, JavaScript реализации языка Ruby (HotRuby), запущенная внутри виртуальной машины Google V8, выполнила тестовое задание в 10 раз быстрее (операция заняла 0.987 сек.), чем при выполнении в стандартном Ruby 1.8.6 и 1.9.0 (тест был выполнен за 9.565 и 9.669 сек).

Более того, аналогичный тестовый код написанный на Си, был выполнен за 3.322 сек. После оптимизации Си кода тест был выполнен за 0.017 сек., но это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее, чем код написанный на интерпретируемом языке.

V8 - написанная с нуля виртуальная JavaScript машина, открытая вчера компанией Google. Проект HotRuby позволяет выполнять в браузере Ruby приложения, преобразованные в байткод, используя для компиляции YARV (Yet Another Ruby VM) из состава Ruby 1.9. На базе HotRuby и Google V8 за пару часов был создан проект rbv8.

Общие результаты тестирования:

  • rbv8: 0.987 сек.
  • Firefox 3: 3.636 сек.
  • Safari 3: 4.368 сек.
  • Opera 9.50: 4.679 сек.
  • Ruby 1.8.6: 9.565 сек.
  • Ruby 1.9.0: 9.669 сек.
  • Rubinius 0.8.0: 15.576 сек.
  • JRuby 1.1 b1: 42.691 сек.


  1. Главная ссылка к новости (http://macournoyer.wordpress.c...)
  2. OpenNews: Реализация Ruby и Java на JavaScript
  3. OpenNews: Первый релиз в новой экспериментальной ветке Ruby 1.9
Лицензия: CC-BY
Источник: heise-online.co.uk
Тип: Тема для размышления
Ключевые слова: ruby, benchmark, javascript, vm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
 
Часть нити удалена модератором

  • 2.2, I, 18:12, 03/09/2008 [ответить] [смотреть все] [показать ветку]
  • +/
    Вообще-то такое бывает Бывало и в некоторых тестах Java vs C, например И не из... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.5, I, 18:28, 03/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Но это был явно не тот случай.
     
  • 3.11, User294, 20:19, 03/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Угу, только это случай когда исключения только подтверждают правило На тяжелы... весь текст скрыт [показать]
     
  • 1.4, Аноним, 18:25, 03/09/2008 [ответить] [смотреть все]  
  • +/
    Задача сферическая Ясное дело, что чуда не будет и конец строки будет каждый ра... весь текст скрыт [показать]
     
     
  • 2.7, Аноним, 18:55, 03/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Можно перевести эту формулировку в нормальный общедоступный вид А то хочется ск... весь текст скрыт [показать] [показать ветку]
     
  • 2.10, Дмитрий Ю. Карпов, 19:39, 03/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В некоторых языках программирования например, BBC-basic конец строкИ обозначае... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, Anonymous, 07:26, 04/09/2008 [^] [ответить] [смотреть все]  
  • +/
    да ну, вы наверное врете все :)
     
  • 3.15, Имя, 11:57, 04/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Речь, вероятно, была про стандартные функции C, которым передаётся один указател... весь текст скрыт [показать]
     
  • 1.6, I, 18:32, 03/09/2008 [ответить] [смотреть все]  
  • +/
    Результат сомнительный.
    В комментах:

    > The ruby version is slow code.
    > By replacing += with <<, it becomes faster tens of times.
    > And HotRuby is optimized for String += String.

     
  • 1.8, Pilat, 19:24, 03/09/2008 [ответить] [смотреть все]  
  • +/
    Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
     
     
  • 2.12, User294, 20:47, 03/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    У него на самом деле только 1 проблема он не стал популярным на server side А... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, Pilat, 14:28, 04/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Ну не совсем flash, ActiveX, Java JavaScript из-за тормознутости использовалс... весь текст скрыт [показать]
     
     
  • 4.24, User294, 23:46, 04/09/2008 [^] [ответить] [смотреть все]  
  • +/
    А ему обычно и не надо большие объемы данных лопатить Для черной работы есть нап... весь текст скрыт [показать]
     
     
  • 5.26, Pilat, 14:24, 05/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Вот мне надо вывести на страницу 6000 строк из базы JSON код JavaScript парсит ... весь текст скрыт [показать]
     
  • 2.20, tr, 17:50, 04/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не смешите меня Поробуйте проверить являится ли в JS строка числом, да чтобы эт... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.25, Pilat, 14:21, 05/09/2008 [^] [ответить] [смотреть все]  
  • +/
    А Вы не пробовали ParseInt запустить, ParseFloat Или регулярное выражение Где... весь текст скрыт [показать]
     
     
  • 4.27, tr, 18:17, 05/09/2008 [^] [ответить] [смотреть все]  
  • +/
    parseInt 1x11 ,10 что выдаст ----- function isNumber src var res v... весь текст скрыт [показать]
     
     
  • 5.28, Pilat, 19:17, 05/09/2008 [^] [ответить] [смотреть все]  
  • +/
    ничего интересного не выдаст, как и масса случайных функций А вот function isIn... весь текст скрыт [показать]
     
     ....нить скрыта, показать (8)

  • 1.9, Aleksey, 19:26, 03/09/2008 [ответить] [смотреть все]  
  • +/
    Я конечно извиняюсь, но делать такие далеко идущие выводы по тесту из 2 строчек - это надо постараться.
     
     
  • 2.16, Michael, 12:33, 04/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Мудрец по одной капле воды может заключить о существовании океана
     
     
  • 3.18, Аноним, 14:34, 04/09/2008 [^] [ответить] [смотреть все]  
  • +/
    А глупец примит одну каплю за океан ... весь текст скрыт [показать]
     
  • 1.19, Аноним, 17:34, 04/09/2008 [ответить] [смотреть все]  
  • +/
    То что JavaScript ускорили - молодца Но вот сравнивать с Ruby - нечестно Ряба ... весь текст скрыт [показать]
     
     
  • 2.21, Anonymous, 19:16, 04/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Ряба

    Жесткий термин. Спасибо поржал (c)

    >Было бы интересно получить JavaScript компилятор.

    Черт, так и чешутся руки написать свой велос^W язык программирования. С но без совместимости с С, с поддержкой классов с жесткой типизацией и вообще без сборки мусора /механизма выделения ресурсов. Все это жестко завязать на драйвер режима яра, который будет разруливать (на уровне страниц) любые операции с памятью.

     
  • 1.23, FSA, 22:58, 04/09/2008 [ответить] [смотреть все]  
  • +/
    >это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее, чем код написанный на интерпретируемом языке.

    Это лишний раз доказывает, что современные программисты плевали на математику, разработку алгоритмов и оптимизацию. А зачем, если можно поставить более мощный процессор, добавить памяти. Да и зачем использовать языки программирования, которые требуют дополнительной внимательности от программиста, если можно писать на языках "высокого уровня".

     
     
  • 2.29, Клыкастое, 18:40, 06/09/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    респект. есть такое
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor