測試用例分為用函數和類來進行一個大字符串的字符逐一讀取。
測試代碼
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
函數
類
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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

