|
2.2, I (?), 18:12, 03/09/2008 [ответить]
| +/– |
>>Более того, аналогичный тестовый код написанный на Си, был выполнен за 3.322 сек.
>
>По-любому индусы писали.
Вообще-то такое бывает. Бывало и в некоторых тестах Java vs C, например. И не из-за индусов вовсе, а потому, что при JIT-компиляции возможны некоторые дополнительные оптимизации, которые нельзя выполнить при AOT.
| |
|
3.11, User294 (??), 20:19, 03/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Вообще-то такое бывает. Бывало и в некоторых тестах Java vs C, например.
Угу, только это случай когда исключения только подтверждают правило :).На тяжелых задачах, где скорость как раз и важна - у жабы и дотнета наблюдается традиционный слив в 2-3-4 раза сям.Вон например бенчи: http://quicklz.com/ - одно и то же сжатие на одной и той же машине (даже нескольких) забенчено в сишной, жабистой и дотнетовой версии.Результат заметен и предсказуем.
| |
|
|
1.4, Аноним (4), 18:25, 03/09/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>но это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее,
Задача сферическая. Ясное дело, что чуда не будет и конец строки будет каждый раз вычисляться поиском завершающего '\0'. Пофиксили и стало в раз в 40 быстрее v8.
>часто выполняется медленнее, чем код написанный на интерпретируемом языке.
И как один пример согласуется со словом "часто"? Интерпретируемый язык - только для скриптов.
>V8 - написанная с нуля виртуальная JavaScript машина, открытой вчера компанией Google.
Правильно, теперь веб и его т.н. браузеры - среда для бесконтрольного выполнения вредоносного ПО и дрм модулей.
Web - R.I.P.
| |
|
2.7, Аноним (7), 18:55, 03/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
> ...написанная с нуля виртуальная JavaScript машина, открытой вчера компанией Google.
Можно перевести эту формулировку в нормальный общедоступный вид?
А то хочется сказать прямо как в известном mp3 "Слово из трёх букв" - "Я %%% чего понял..." xD
| |
2.10, Дмитрий Ю. Карпов (?), 19:39, 03/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
> Ясное дело, что чуда не будет и конец строки будет каждый раз вычисляться поиском завершающего '\0'.
В некоторых языках программирования (например, BBC-basic) конец строкИ обозначается не нулевым символом, а записанной в определённом месте длиной строкИ (т.е. строка - это не массив, а более сложная структура). В частности, это позволяет включать в строку нулевой символ; ну и ускоряет некоторые операции, а также на операциях изменения строкИ нагружает дополнительной работой процессор (т.е. замедляет работу); и ещё позволяет контролировать выход за границу массива.
| |
|
3.15, Имя (?), 11:57, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>В некоторых языках программирования (например, BBC-basic) конец строкИ обозначается не нулевым символом
Речь, вероятно, была про стандартные функции 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 (ok), 19:24, 03/09/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
| |
|
2.12, User294 (??), 20:47, 03/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
У него на самом деле только 1 проблема :) он не стал популярным на server side.А так - JS вроде всегда и был одним из таковых средств.
| |
|
3.17, Pilat (ok), 14:28, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
>
>У него на самом деле только 1 проблема :) он не стал
>популярным на server side.А так - JS вроде всегда и был
>одним из таковых средств.
Ну не совсем. flash, ActiveX, Java . JavaScript из-за тормознутости использовался как сервисный язык, для обработки больших объёмов данных его использовать до сих пор не получается.
| |
|
4.24, User294 (ok), 23:46, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>для обработки больших объёмов данных его использовать до сих
>пор не получается.
А ему обычно и не надо большие объемы данных лопатить.Для черной работы есть например, БД, писанные отнюдь не на JS.Вот они перелопатить большой объем данных могут.Для того и созданы.Хотя тормозные скрипты все-равно никому не нужны - это верно.Но если уж Ruby слегка юзают местами некоторые, а его реализация на JS обгоняет обычный вариант - саму эту реализацию JS, очевидно, тоже можно заюзать ничуть не хуже тогда.Как минимум она будет не медленее :)))
| |
|
5.26, Pilat (ok), 14:24, 05/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>А ему обычно и не надо большие объемы данных лопатить.Для черной работы
Вот мне надо вывести на страницу 6000 строк из базы. JSON код JavaScript парсит 10-15 секунд, eval() за две управляется, но не секурно. На таких задачах проблемы со скоростью хорошо видны.
| |
|
|
|
2.20, tr (?), 17:50, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
Не смешите меня. Поробуйте проверить являится ли в JS строка числом, да чтобы это работало во всех браузерах... Это до того неудобно решается в JS, что говорить о "основном" ЯП просто преждевременно... Что это за ЯП такой, что элементарные операции то работают, то не работают?
| |
|
3.25, Pilat (ok), 14:21, 05/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>Всё указывает на то, что JavaScript станет основным языком для web разработчиков.
>
>Не смешите меня. Поробуйте проверить являится ли в JS строка числом, да
>чтобы это работало во всех браузерах... Это до того неудобно решается
>в JS, что говорить о "основном" ЯП просто преждевременно... Что это
>за ЯП такой, что элементарные операции то работают, то не работают?
>
А Вы не пробовали ParseInt запустить, ParseFloat ? Или регулярное выражение? Где-то тут проблемы обнаружились?
| |
|
4.27, tr (?), 18:17, 05/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>>Всё указывает на то, что 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;
}
что выдаст если два раза подряд к одним и тем же данным вызвать?(в форме ОК два раза нажимаем к примеру)
| |
|
5.28, Pilat (ok), 19:17, 05/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>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 тоже.
| |
|
|
|
|
1.9, Aleksey (??), 19:26, 03/09/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я конечно извиняюсь, но делать такие далеко идущие выводы по тесту из 2 строчек - это надо постараться.
| |
|
|
3.18, Аноним (-), 14:34, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
> Мудрец по одной капле воды может заключить о существовании океана
А глупец примит одну каплю за океан.
| |
|
|
1.19, Аноним (7), 17:34, 04/09/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
То что JavaScript ускорили - молодца!
Но вот сравнивать с Ruby - нечестно! Ряба - абсолюнтый тормоз, если ты можешь перекинуть байтик в секунду - ты уже еЯ быстрее :)
Было бы интересно получить JavaScript компилятор. В нативщину. От наличия такого тулса могло бы произойти много любопытного .... :)
| |
|
2.21, Anonymous (?), 19:16, 04/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Ряба
Жесткий термин. Спасибо поржал (c)
>Было бы интересно получить JavaScript компилятор.
Черт, так и чешутся руки написать свой велос^W язык программирования. С но без совместимости с С, с поддержкой классов с жесткой типизацией и вообще без сборки мусора /механизма выделения ресурсов. Все это жестко завязать на драйвер режима яра, который будет разруливать (на уровне страниц) любые операции с памятью.
| |
|
1.23, FSA (??), 22:58, 04/09/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>это лишний раз доказывает, то что написанный на скорую руку Си код часто выполняется медленнее, чем код написанный на интерпретируемом языке.
Это лишний раз доказывает, что современные программисты плевали на математику, разработку алгоритмов и оптимизацию. А зачем, если можно поставить более мощный процессор, добавить памяти. Да и зачем использовать языки программирования, которые требуют дополнительной внимательности от программиста, если можно писать на языках "высокого уровня".
| |
|