테스트 케이스는 기능과 클래스로 나뉘어 큰 문자열의 문자를 하나씩 읽습니다.
테스트 코드
node.js
기능
var fs = require ( "fs"); var content = fs.readfilesync ( "page.html", {인코딩 : "utf-8"}); function chars (content) {var length = content.length; var pos = 0; while (pos ++ <길이) {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", {인코딩 : "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 char {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";?>파이썬
기능
codecsimport timedef chars (컨텐츠) : length = len (content) pos = 0 while (pos <longth) : char = content [pos = pos + 1f = codecs.open ( 'page.html', encoding = 'utf -8') content = f.read () start = time.time () chars (컨텐츠) 끝 = time.time ();
친절한
CodecSimport TimeClass chars () : def __init __ (self, str) : self.str = strength = len (str) self.pos = 0 def run (self.pos <self.length) : self.pos] self.pos = self.pos + 1f = codecen ( 'page.html', encoding = page.html. f.read () start = time.time () instance = chars (content) instance.run () end = time.time (); print (end -start)
page.html 파일 내용은 길이의 텍스트입니다.
테스트 결과
언어 기능 클래스 노드 .JS 0.022S 0.026SPHP 0.35S 1.02SPYTHON 0.58S 1.50S