今天看啥
热点:

Node.js与PHP、Python的字符处理性能对比,node.jspython


测试用例分为用函数和类来进行一个大字符串的字符逐一读取。

测试代码

Node.js

函数

var fs = require("fs");

var content = fs.readFileSync("page.html", {
 encoding: "utf-8"
});

function chars(content){
 var length = content.length;
 var pos = 0;
 while(pos ++ < length){
  var chr = content[pos - 1];
 }
}
var start = Date.now();
chars(content);
var end = Date.now();
console.log(end - start);

var fs = require("fs");

var content = fs.readFileSync("page.html", {
 encoding: "utf-8"
});

var Chars = function(str){
 this.str = str;
 this.length = str.length
 this.pos = 0;
}
Chars.prototype.run = function(){
 while(this.pos ++ < this.length){
  var chr = this.str[this.pos - 1];
 }
}
var start = Date.now();
var instance = new Chars(content);
instance.run();
var end = Date.now();
console.log(end - start);

PHP

函数

<?php
function chars($content){
 $length = strlen($content);
 $pos = 0;
 while ($pos ++ < $length) {
  $char = $content{$pos - 1};
 }
}
$content = file_get_contents("page.html");
$start = microtime(true);
chars($content);
$end = microtime(true);
echo ($end - $start) . "\n";
?>

<?php
class Chars{
 public function __construct($str){
  $this->str = $str;
  $this->length = strlen($str);
  $this->pos = 0;
 }
 public function run(){
  while($this->pos++ < $this->length){
   $char = $this->str{$this->pos - 1};
  }
 }
}
$content = file_get_contents("page.html");
$start = microtime(true);
$instance = new Chars($content);
$instance->run();
$end = microtime(true);
echo ($end - $start) . "\n";
?>

Python

函数

import codecs
import time

def chars(content):
 length = len(content)
 pos = 0
 while(pos < length):
  char = content[pos]
  pos = pos + 1

f = codecs.open('page.html', encoding='utf-8')

content = f.read()

start = time.time()
chars(content)
end = time.time();

print end - start

import codecs
import time

class Chars(): 
 def __init__(self, str): 
  self.str = str
  self.length = len(str)
  self.pos = 0

 def run(self):
  while(self.pos < self.length):
   char = self.str[self.pos]
   self.pos = self.pos + 1

f = codecs.open('page.html', encoding='utf-8')

content = f.read()

start = time.time()
instance = Chars(content)
instance.run()
end = time.time();

print (end - start)

其中 page.html 文件内容为一个长度为 的文本。

测试结果

语言 函数 类
Node.js 0.022s 0.026s
PHP 0.35s 1.02s
Python 0.58s 1.50s


开发一个网站用php还是nodejs?

我不觉得node.js有什么不适合新手的,毕竟你从0开始学PHP一样要对网页编程有个学习的过程,所以从上手程度来说两者几乎等价。一样要了解MVC,数据库连接等等。
直接比较一下上手时的优劣,你可以自己衡量一下
Node.js
优点:js语法,对会用js的人来说看懂代码不难。

简化了配置服务器的过程,自带一个web服务器,不像php要安装配置apache
缺点:相比PHP学习资料较少
PHP
优点:学习资料多,框架多,工具包多
缺点:对于语法有个熟悉过程
我觉得这应该是你搭的第一个网站,语言的重要性其实不那么大,优缺点可能在你学习的过程中也不会体现,而且都是一些外在外因。当然你也可以这么考虑,现在搞PHP的一抓一大把,而且主要以轻量级公司用的居多。node被很多大公司所推崇,越早接触机会机会越多。
 

php 字符串处理

代码如下:

<?php
$str = "my name's haha";

echo addslashes($str);
?>

输出结果:

my name\'s haha
 

www.bkjia.comtruehttp://www.bkjia.com/Javascript/840049.htmlTechArticleNode.js与PHP、Python的字符处理性能对比,node.jspython 测试用例分为用函数和类来进行一个大字符串的字符逐一读取。 测试代码 Node.js 函数 v...

相关文章

相关搜索: Node.js HP Python 字符串

帮客评论

视觉看点