1.2, Остров (?), 00:17, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Все хорошо, но событийная модель может тихо взорвать мозг. Уж лучше эрланго-функциональная.
| |
1.3, User294 (ok), 00:31, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Судя по графику, nginx kicks an ass :))). Правда он не сервер приложений, но все-таки :)
| |
|
2.4, anonymous (??), 00:50, 16/02/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
Судя по графику, при количестве подключений больше 300 у ноды проблемы, поэтому авторы постеснялись сделать шкалу пошире.
| |
|
|
4.20, User294 (ok), 20:33, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
> на графике нода 0.1
> а статья уже про ноду 0.4
Хренасе! А это так и надо - написать про 0.4, снабдив статью графиком от 0.1? oO
| |
|
5.23, Аноним (-), 21:41, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> на графике нода 0.1
>> а статья уже про ноду 0.4
> Хренасе! А это так и надо - написать про 0.4, снабдив статью
> графиком от 0.1? oO
Там все завязано на libevent, поэтому график в основном её производительность показывает. Скорее всего для 0.4 будет примерно такой-же график, там в плане скорости обработки Hello Word мало что изменилось. Если более сложные программы тестировать различия действительно будут заметны, но тогда некорректно будет с nginx сравнивать.
| |
|
|
|
2.28, nagual (ok), 14:38, 18/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Судя по графику, nginx kicks an ass :))). Правда он не сервер
> приложений, но все-таки :)
Всегда интересно смотреть на сравнение мягкого с пушистым ... :-)))
| |
2.31, nuclight (ok), 16:36, 21/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Судя по графику, nginx kicks an ass :))). Правда он не сервер
> приложений, но все-таки :)
294, nginx же не под GPL, да, впрочем, и node.js тоже. Как ты можешь их юзать?..
| |
|
1.7, cmp (ok), 09:24, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Результат теста производительности для выражения
for(i=0;;i++)
print(i);
и его аналогов за 2 секунды
bash 30.000
node 33.000
php5 215.000
js 1.091.000 (http://www.ngs.fi/js/)
gcc(с) 2.885.000
| |
|
2.13, Аноним (-), 14:43, 16/02/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
Дорогие ребята. Сравнивая производителность принтов в различных языках вы не сравниваете языки. Вы сравниваете только принты. Ну и распечатка приведённого листинга заменяет направление на приём к психиатру.
| |
2.21, User294 (ok), 20:39, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
> bash 30.000
> node 33.000
> php5 215.000
> js 1.091.000 (http://www.ngs.fi/js/)
> gcc(с) 2.885.000
Вы имхо проверили в основном скорость вывода текста в различных языках нежели что-то еще :). Это конечно тоже показатель, но достаточно странный, особенно если вы хотели проверить скорость выражений а не скорость того или иного I/O :)
| |
|
3.24, cmp (ok), 21:57, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
Да мне без разницы как функция принт парсит аргумент, результат работы выражения, тоже не цель работы программы, по факту замера скорости получен результат, на основе которого я сделал вывод.
Мне очень нравится JavaScript, он в максимальной степени предоставляет свободу действий, которую я могу сравнить только с С, в купе с легковесностью. - С радостью заменил бы им и
стандартные инициализационные системные скрипты и php под httpd, но с такой производительностью это не имеет смысла.
ngs/js показал себя с лучшей стороны, размер исполняемого файла - 300кб, по-этому на нагруженной машине инициализация программы почти не заметна, (по сравнению с тем же php, где размер "ехешника" 10М). Единственная проблема, в том, что проект уже года 3 не развивается, зато эти монстоподобные аналоги питонов плодятся как на дрожжах.
| |
|
2.22, cmp (ok), 21:14, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
>Файл test-r.sh
#!/bin/bash
function zzz() {
setsid ./killcat 2 > /dev/null 2>&1 &
cat > /dev/null 2>&1
cat | grep -m 1 -E '[0-9]....*[0-9]'
}
t1='node test.js'
t2='php -f test.php'
t3='./test.sh'
t4='js ./test2.js'
t5='./test.bin'
for x in 0 1 2 3 4 5 6 7 8 9; do
$t1 2>/dev/null | zzz 2>/dev/null
done
>файл test.js
for(var i = 0;; i++)
console.log(i);
>файл test.php
<?php
for($i = 0;; $i++)
echo $i."\n";
?>
>файл test.sh
#!/bin/bash
i=0
while true; do
echo $i
i=$((i+1))
done
>файл test2.js
for(var i = 0;; i++)
print(i);
>файл test.c, для gcc -O2 test.c -o test.bin
#include <stdio.h>
int main(void)
{
unsigned long long i = 0;
while(1)
printf("%lld\n", i);
return 0;
}
>файл killcat
#!/bin/bash
sleep $1
killall cat
> ========================================
> Сравнивая производителность принтов в различных языках вы не сравниваете языки. Вы сравниваете только принты.
1) Принт часть языка, значит сравнивается, как Вы правильно заметили, не весь язык, но часть очень часто используемая, и если ее производительность хромает, то это !повод думать, что и другие части не идеальны.
2) Проведите свой тест, более "чистый", уверен, что результат будет аналогичным, потому что разница НЕ в процентах а в порядках.
| |
|
3.25, _Vitaly_ (ok), 02:27, 17/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
Даже с учетом тестирования вывода, тест совсем косячный.
Замените для начала console.log() на util.puts()
| |
|
4.26, cmp (ok), 07:39, 17/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
ReferenceError: util is not defined
На роль бета-тестера не претендую, однако для самых лютых 'анонимусов', для
for(y=0;y<100;y++)
for(x=0;x<300;x++)
;
time node test.js -- real 0m0.106s
time js test.js -- real 0m0.012s
time php -f test.php -- real 0m0.270s
bash по понятным причинам с теста снят, впрочем только у меня возникает чувство, что эти циферки описывающие сферических цыплят подозрительно коррелируют с размером исполняемых файлов и кол-м подгружаемых библиотек?
| |
|
5.27, _Vitaly_ (ok), 08:15, 17/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
util через require подключить надо, функция там. Посмотрите по документации. Либо код напрямую стырить:
process.stdout.write(...)
Консольный логер, который вы вызывали, сначала форматирует результат. В других языках вы дергали нативный вывод сразу, а у ноды вызвали намного больше жабаскрипта перед записью.
| |
|
|
|
|
1.17, Аноним123321 (ok), 15:54, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> ...передают результат своей работы обратно через неименованный канал (pipe).
даже на венде? :-)
так и представил: \\.\pipe\tA8hZcYw... :-)
| |
|
2.18, Аноним (-), 17:51, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> ...передают результат своей работы обратно через неименованный канал (pipe).
> даже на венде? :-)
> так и представил: \\.\pipe\tA8hZcYw... :-)
речь про _неименованный_ канал
| |
|
3.19, Аноним12233 (ok), 18:50, 16/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
...приоткрою завесу "великой" тайны -- неименовынные каналы -- в кривопридуманной венде это именовынные каналы но со случайным именем :-)
а иначе небыло бы такого "удовольствия" писать под венду программульки.. еслибы не её извращённое API :-) :-D
| |
|
4.29, nagual (ok), 16:38, 18/02/2011 [^] [^^] [^^^] [ответить]
| +/– |
> ...приоткрою завесу "великой" тайны -- неименовынные каналы -- в кривопридуманной венде
> это именовынные каналы но со случайным именем :-)
> а иначе небыло бы такого "удовольствия" писать под венду программульки.. еслибы не
> её извращённое API :-) :-D
Небудет оно под венду работать так же хорошо как под никс ...
| |
|
|
|
|