The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenNews: JavaScript реализации Ruby, выполненная в V8 VM, о..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"OpenNews: JavaScript реализации Ruby, выполненная в V8 VM, о..."  
Сообщение от opennews (??) on 03-Сен-08, 17:53 
По  предварительным тестам (http://macournoyer.wordpress.com/2008/09/02/ruby-on-v8/), JavaScript реализации языка Ruby (HotRuby (http://hotruby.yukoba.jp/)), запущенная внутри виртуальной машины Google V8 (http://code.google.com/apis/v8/), выполнила тестовое задание в 10 раз быстрее (операция заняла 0.987 сек.), чем при выполнении в стандартном Ruby 1.8.6 и 1.9.0 (тест был выполнен за 9.565 и 9.669 сек).


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

V8 (http://code.google.com/apis/v8/) - написанная с нуля  виртуальная JavaScript машина, открытой вчера компанией Google. Проект HotRuby (http://hotruby.yukoba.jp/) позволяет выполнять в браузере Ruby приложения, преобразованные в байткод, используя для компиляции YARV (Yet Another Ruby VM) из с...

URL: http://macournoyer.wordpress.com/2008/09/02/ruby-on-v8/
Новость: http://www.opennet.me/opennews/art.shtml?num=17703

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от I on 03-Сен-08, 18:12 
>>Более того, аналогичный тестовый код написанный на Си, был выполнен за 3.322 сек.
>
>По-любому индусы писали.

Вообще-то такое бывает. Бывало и в некоторых тестах Java vs C, например. И не из-за индусов вовсе, а потому, что при JIT-компиляции возможны некоторые дополнительные оптимизации, которые нельзя выполнить при AOT.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от I on 03-Сен-08, 18:28 
Но это был явно не тот случай.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от User294 (??) on 03-Сен-08, 20:19 
>Вообще-то такое бывает. Бывало и в некоторых тестах Java vs C, например.

Угу, только это случай когда исключения только подтверждают правило :).На тяжелых задачах, где скорость как раз и важна - у жабы и дотнета наблюдается традиционный слив в 2-3-4 раза сям.Вон например бенчи: http://quicklz.com/ - одно и то же сжатие на одной и той же машине (даже нескольких) забенчено в сишной, жабистой и дотнетовой версии.Результат заметен и предсказуем.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Аноним (??) on 03-Сен-08, 18:25 
>но это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее,

Задача сферическая. Ясное дело, что чуда не будет и конец строки будет каждый раз вычисляться поиском завершающего '\0'. Пофиксили и стало в раз в 40 быстрее v8.

>часто выполняется медленнее, чем код написанный на интерпретируемом языке.

И как один пример согласуется со словом "часто"? Интерпретируемый язык - только для скриптов.

>V8 - написанная с нуля виртуальная JavaScript машина, открытой вчера компанией Google.

Правильно, теперь веб и его т.н. браузеры - среда для бесконтрольного выполнения вредоносного ПО и дрм модулей.

Web - R.I.P.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Аноним (??) on 03-Сен-08, 18:55 
> ...написанная с нуля виртуальная JavaScript машина, открытой вчера компанией Google.

Можно перевести эту формулировку в нормальный общедоступный вид?
А то хочется сказать прямо как в известном mp3 "Слово из трёх букв" - "Я %%% чего понял..." xD

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Дмитрий Ю. Карпов on 03-Сен-08, 19:39 
> Ясное дело, что чуда не будет и конец строки будет каждый раз вычисляться поиском завершающего '\0'.

В некоторых языках программирования (например, BBC-basic) конец строкИ обозначается не нулевым символом, а записанной в определённом месте длиной строкИ (т.е. строка - это не массив, а более сложная структура). В частности, это позволяет включать в строку нулевой символ; ну и ускоряет некоторые операции, а также на операциях изменения строкИ нагружает дополнительной работой процессор (т.е. замедляет работу); и ещё позволяет контролировать выход за границу массива.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Anonymous on 04-Сен-08, 07:26 
да ну, вы наверное врете все :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Имя on 04-Сен-08, 11:57 
>В некоторых языках программирования (например, BBC-basic) конец строкИ обозначается не нулевым символом

Речь, вероятно, была про стандартные функции C, которым передаётся один указатель.

> а записанной в определённом месте длиной строкИ (т.е. строка - это не массив, а более сложная структура)

Это и сделали по ссылке, только на С.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от I on 03-Сен-08, 18:32 
Результат сомнительный.
В комментах:

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Pilat (ok) on 03-Сен-08, 19:24 
Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от User294 (??) on 03-Сен-08, 20:47 
>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.

У него на самом деле только 1 проблема :) он не стал популярным на server side.А так - JS вроде всегда и был одним из таковых средств.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Pilat (ok) on 04-Сен-08, 14:28 
>>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
>
>У него на самом деле только 1 проблема :) он не стал
>популярным на server side.А так - JS вроде всегда и был
>одним из таковых средств.

Ну не совсем. flash, ActiveX, Java . JavaScript из-за тормознутости использовался как сервисный язык, для обработки больших объёмов данных его использовать до сих пор не получается.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от User294 (ok) on 04-Сен-08, 23:46 
>для обработки больших объёмов данных его использовать до сих
>пор не получается.

А ему обычно и не надо большие объемы данных лопатить.Для черной работы есть например, БД, писанные отнюдь не на JS.Вот они перелопатить большой объем данных могут.Для того и созданы.Хотя тормозные скрипты все-равно никому не нужны - это верно.Но если уж Ruby слегка юзают местами некоторые, а его реализация на JS обгоняет обычный вариант - саму эту реализацию JS, очевидно, тоже можно заюзать ничуть не хуже тогда.Как минимум она будет не медленее :)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Pilat (ok) on 05-Сен-08, 14:24 
>А ему обычно и не надо большие объемы данных лопатить.Для черной работы

Вот мне надо вывести на страницу 6000 строк из базы. JSON код JavaScript парсит 10-15 секунд, eval() за две управляется, но не секурно. На таких задачах проблемы со скоростью хорошо видны.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от tr on 04-Сен-08, 17:50 
>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.

Не смешите меня. Поробуйте проверить являится ли в JS строка числом, да чтобы это работало во всех браузерах... Это до того неудобно решается в JS, что говорить о "основном" ЯП просто преждевременно... Что это за ЯП такой, что элементарные операции то работают, то не работают?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Pilat (ok) on 05-Сен-08, 14:21 
>>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
>
>Не смешите меня. Поробуйте проверить являится ли в JS строка числом, да
>чтобы это работало во всех браузерах... Это до того неудобно решается
>в JS, что говорить о "основном" ЯП просто преждевременно... Что это
>за ЯП такой, что элементарные операции то работают, то не работают?
>

А Вы не пробовали ParseInt запустить, ParseFloat ? Или регулярное выражение? Где-то тут проблемы обнаружились?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от tr on 05-Сен-08, 18:17 
>>>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
>>
>>Не смешите меня. Поробуйте проверить являится ли в JS строка числом, да
>>чтобы это работало во всех браузерах... Это до того неудобно решается
>>в JS, что говорить о "основном" ЯП просто преждевременно... Что это
>>за ЯП такой, что элементарные операции то работают, то не работают?
>>
>
>А Вы не пробовали ParseInt запустить, ParseFloat ? Или регулярное выражение? Где-то
>тут проблемы обнаружились?

parseInt('1x11',10); что выдаст?
-----
function isNumber(src){
    var res = '';
    var re = /[0-9]+/g;
    var arr = '';
    var arr = re.exec(src);
    if (arr != null) {
        if (arr.size() == src.length) {
            return true;
        }
    }
    return false;
}
что выдаст если два раза подряд к одним и тем же данным вызвать?(в форме ОК два раза нажимаем к примеру)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

28. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Pilat (ok) on 05-Сен-08, 19:17 
>parseInt('1x11',10); что выдаст?

ничего интересного не выдаст, как и масса случайных функций. А вот
function isInteger(a){
    var b = parseInt(a,10);
    if( a==b) return true;
    return false;
}
выдаст. точно так же, как и выражение /^\-?\d+$/


>[оверквотинг удален]
> var arr = re.exec(src);
> if (arr != null) {
>  if (arr.size() == src.length) {
>   return true;
>  }
> }
> return false;
>}
>что выдаст если два раза подряд к одним и тем же данным
>вызвать?(в форме ОК два раза нажимаем к примеру)

Опять какая-то каша, замысел функции непонятен, что она вообще должна была делать? arr.size никакого отношения к src.length не имеет (и вообще что это за size()), arr.length тоже.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Aleksey (??) on 03-Сен-08, 19:26 
Я конечно извиняюсь, но делать такие далеко идущие выводы по тесту из 2 строчек - это надо постараться.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Michael (??) on 04-Сен-08, 12:33 
Мудрец по одной капле воды может заключить о существовании океана
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Аноним (??) on 04-Сен-08, 14:34 
> Мудрец по одной капле воды может заключить о существовании океана

А глупец примит одну каплю за океан.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Аноним (??) on 04-Сен-08, 17:34 
То что JavaScript ускорили - молодца!

Но вот сравнивать с Ruby - нечестно! Ряба - абсолюнтый тормоз, если ты можешь перекинуть байтик в секунду - ты уже еЯ быстрее :)

Было бы интересно получить JavaScript компилятор. В нативщину. От наличия такого тулса могло бы произойти много любопытного .... :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Anonymous on 04-Сен-08, 19:16 
>Ряба

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

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от FSA (??) on 04-Сен-08, 22:58 
>это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее, чем код написанный на интерпретируемом языке.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

29. "JavaScript реализации Ruby, выполненная в V8 VM, оказалась б..."  
Сообщение от Клыкастое on 06-Сен-08, 18:40 
респект. есть такое
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру