时间:2021-05-26
测试用例分为用函数和类来进行一个大字符串的字符逐一读取。
测试代码
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
函数
<?phpfunction 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";?>类
<?phpclass 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 codecsimport timedef chars(content): length = len(content) pos = 0 while(pos < length): char = content[pos] pos = pos + 1f = codecs.open('page.html', encoding='utf-8')content = f.read()start = time.time()chars(content)end = time.time();print end - start类
import codecsimport timeclass 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 + 1f = 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.026sPHP 0.35s 1.02sPython 0.58s 1.50s声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
因项目需要,需要Node.js与PHP做接口调用,发现node.js对中文使用md5加密与php对中文md5加密的结果不同。PHP输出:程序员md5:72d9a
本文实例讲述了node.js读取文件到字符串的方法。分享给大家供大家参考。具体分析如下:Node.js是一套用来编写高性能网络服务器的JavaScript工具包
用C++扩展node.js(node-ffi版)0.先安装node.js和python(2.7)。请参考:https://nodejs.org/https://
下面是我们使用Node.js时遵循的10个性能规则:1.避免使用同步代码在设计上,Node.js是单线程的。为了能让一个单线程处理许多并发的请求,你可以永远不要
Node.js基于JavaScript引擎v8,是单线程的。Node.js采用了与通常Web上的JavaScript异步编程的方式来处理会造成阻塞的I/O操作。