Node.js与PHP、Python的字符处理性能对比
2014-07-06 11:47
941 查看
测试用例分为用函数和类来进行一个大字符串的字符逐一读取。
测试代码
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
您可能感兴趣的文章:
相关文章推荐
- Node.js与PHP、Python的字符处理性能对比
- Node.js与PHP、Python的字符处理性能对比
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比(golang python php c++ java Nodejs Performance)
- golang与node.js的http模块性能对比测试(go1)
- 巅峰对决:node.js和php性能测试
- Java, Python, Ruby, PHP, C等语言性能对比
- Node.js和PHP运行机制对比
- AngularJS+RestfulAPI+BasicAuth+Python/PHP/Node.JS来实现一个最简单的新闻管理后台
- 再次验证golang与node.js的http模块性能对比测试
- Node.js 异步性能与同步性能对比
- Java, Python, Ruby, PHP, C等语言性能对比
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Node.js和PHP运行机制对比
- 高性能Web服务端 PHP vs Node.js vs Nginx-Lua 的对比分析
- 爬虫性能:NodeJs VS Python
- 单服务器node.js和php性能测试
- 关于传到PHP用PHP处理计算器和js做的计算器对比
- PHP生成随机字符的4种方法及性能对比
- 程序语言(python、php、Node.js)调用Redis
- php与node.js对比之简介