Node.js与PHP、Python的字符处理性能对比
(编辑:jimmy 日期: 2026/10/17 浏览:3 次 )
测试用例分为用函数和类来进行一个大字符串的字符逐一读取。
测试代码
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
函数
<"page.html"); $start = microtime(true); chars($content); $end = microtime(true); echo ($end - $start) . "\n"; "htmlcode"><"page.html"); $start = microtime(true); $instance = new Chars($content); $instance->run(); $end = microtime(true); echo ($end - $start) . "\n"; "htmlcode">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
下一篇:基于promise.js实现nodejs的promises库
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。