测试用例分为
函数和类,依次读取大字符串的字符。
测试代码
Node.js
功能 var =要求(FS );
无功量= fs.readfilesync(页面。html),{
编码:UTF-8
});
函数字符(内容){
VaR的长度= content.length;
var = 0;
而(POS + +长度)
VaR chr = { 1 } POS -内容;
}
}
var
启动= Date.now();
字符(内容);
var = Date.now();
console.log(端开始);
班
var =要求(FS );
无功量= fs.readfilesync(页面。html),{
编码:UTF-8
});
var =函数(STR){
this.str = str;
this.length = str.length
this.pos = 0;
}
chars.prototype.run =函数(){
而(this.pos < { +这。长度)
Var Chr =这this.pos STR { 1 };
}
}
var启动= Date.now();
var实例=新字符(内容);
Instance.run();
var = Date.now();
console.log(端开始);
PHP
功能
< PHP
函数字符($内容){
$长度= strlen(内容);
$ = 0;
当($ $ + $ $长度)
美元=内容$ { - 1 };
}
}
$content = file_get_contents(页面。html);
美元开始=瞬时(真);
字符($内容);
美元=瞬时(真的);
回声($结束- $开始)。;
>
班
< PHP
类字符{
公共功能__construct($str){
$;
美元->长度= strlen(str);
$ = 0;
}
公共函数
运行(){
当($ + + +长度){
$ = $,这是一个1;
}
}
}
$content = file_get_contents(页面。html);
美元开始=瞬时(真);
$实例=新字符($内容);
$实例>运行();
美元=瞬时(真的);
回声($结束- $开始)。;
>
蟒蛇
功能
进口解码器
进口时间
字符(内容):
长度=长度(内容)
POS = 0
同时(POS <长度):
char =内容{ } }
POS + POS + 1
F = codecs.open(页。HTML,编码= 'utf-8)
内容= f.read()
开始= time.time()
字符(内容)
结束= time.time();
打印结束开始
班
进口解码器
进口时间
类字符():
DEF __init__(自我,STR):
self.str = str
self.length = len(str)
self.pos = 0
运行(自):
而(self.pos <自我。长度):
char
self.pos = self.pos + 1
F = codecs.open(页。HTML,编码= 'utf-8)
内容= f.read()
开始= time.time()
实例=字符(内容)
Instance.run()
结束= time.time();
打印(结束)
page.html
文件的内容是一个长度的
文本。
测试结果
语言功能类
0.022s 0.026s Node.js
PHP 0.35s 1.02s
Python 0.58s 1.50s