测试代码
Node.js
函数
类
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下载本文