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-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor