да это программа, каждый раз не запускается как php скрипт, для проверки
var sys = require('sys');
var http = require('http');
var a = 1;
http.createServer(function (req, res) {
res.sendHeader(200, {'Content-Type': 'text/plain'});
res.sendBody('a: ' + a);
a++;
res.finish();
}).listen(8000);
при каждом запросе переменная a будет увеличиваться |
Цитата:
<?
$fp1=fopen('test.php','w');
$fp2=fopen('test.js','w');
fwrite($fp1,"<?\r\n");
fwrite($fp1,"list(\$usec, \$seconds) = explode(\" \", microtime());\r\n");
fwrite($fp1,"\$start = ((float)\$usec + (float)\$seconds);\r\n");
fwrite($fp2,"sys = require('sys');\r\n");
fwrite($fp2,"var start = Date.now();\r\n");
$op=array('+','-','*','/','%');
for($i=97;$i<=122;$i++)
{
fwrite($fp1,'$'.chr(rand(97,122))."=0;\r\n");
fwrite($fp2,'var '.chr(rand(97,122))."=0;\r\n");
}
$string='$'.chr(rand(97,122)).'='.'$'.chr(rand(97,122)).$op[array_rand($op)].rand(1,1000000).";\r\n";
for($i=0;$i<1000000;$i++)
{
$a=chr(rand(97,122));
$b=chr(rand(97,122));
$c=$op[array_rand($op)];
$d=rand(1,1000000).'.'.rand(1,10000);
$string='$'.$a.'='.'$'.$b.$c.$d.";\r\n";
fwrite($fp1,$string);
$string=$a.'='.$b.$c.$d.";\r\n";
fwrite($fp2,$string);
}
fwrite($fp1,"list(\$usec, \$seconds) = explode(\" \", microtime());\r\n");
fwrite($fp1,"\$end = ((float)\$usec + (float)\$seconds);\r\n");
fwrite($fp1,"echo \$end - \$start;");
fwrite($fp1,"?>");
fwrite($fp2,"sys.puts((Date.now() - start)/1000);\r\n");
?>
|
заменил rand(97,122) на $i в первом цикле, а то пишет что переменные не определены некоторые.
использовал следующий код для запуска, чтобы измерить полное время парсинга/загрузки/выполнения скрипта
sys = require('sys')
var start = Date.now();
sys.exec('node test.js').addCallback(function(output){//sys.exec('php test.php')
sys.puts(output);
sys.puts((Date.now() - start)/1000);
});
результат (в сек) Код:
node.js 0.024 - время выполения показаное скриптом |
ну, чтож.
Nodejs весьма хорош, чтобы на нем можно было писать посмотрел список существующих на данный момент модулей огорчило отсутствие SAX Самый главный минус вижу, только в низкой степени популяризации. Мало кто из заказчиков приемлет проект написанный на нем. но для себя, я думаю смогу найти применение этому инструменту |
Цитата:
Цитата:
|
есть libxmljs http://libxmljs.squishtech.com/
|
Цитата:
|
Список модулей растёт не по дням, а по часам, что не может не радовать.
|
Можно добавить node.js в рамках платформы Хайвекст. Соответственно появится выбор между двумя движками Rhino и V8 (node.js) + сервисы и другие возможности станут доступны также в node.js
|
Hivext Technologies,
а это имеет смысл? Основная фишка -- асинхронность, у вас, я так понимаю, ею не пахнет. |
| Часовой пояс GMT +3, время: 06:23. |