تنقسم حالات الاختبار إلى وظائف وفئات لقراءة أحرف سلسلة كبيرة واحدة تلو الأخرى.
رمز الاختبار
node.js
وظيفة
var fs = require ("fs") ؛ var content = fs.readfilesync ("page.html" ، {الترميز: "utf-8"}) ؛ function chars (content) {var length = content.length ؛ var pos = 0 ؛ بينما (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" ، {الترميز: "utf-8"}) ؛ var chars = function (str) {this.str = str ؛ this.length = str.length this.pos = 0 ؛} chars.prototype.run = function () {بينما (this.pos ++ <this.length) {var chr = this.str [this.pos - 1] ؛ }} var start = date.now () ؛ var مثيل = chars جديد (content) ؛ مثيلPHP
وظيفة
<؟ phpfunction chars ($ content) {$ length = strlen ($ content) ؛ $ pos = 0 ؛ بينما ($ 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 ؛ } الوظيفة العامة Run () {بينما ($ this-> pos ++ <$ this-> length) {$ char = $ this-> str {$ this-> pos-1} ؛ }}} $ content = file_get_contents ("page.html") ؛ $ start = microtime (true) ؛ $ enstary = new chars ($ content) ؛ $ extry-> run () ؛ $ end = microtime (true) ؛ echo ($ end - $ start). "/n" ؛؟>بيثون
وظيفة
استيراد codecsimport timedef chars (المحتوى): الطول = len (content) pos = 0 بينما (pos <length): char = content [pos] pos = pos + 1f = codecs.open ('page.html' ، الترميز = 'utf -8') content = f.read () start.عطوف
استيراد codecsimport timeclass chars (): def __init __ (self ، str): self.str = str self.length = len (str) self.pos = 0 def run (self): بينما (self.pos <self.length): char = self.pos] = f.read () start = time.time () مثيل = chars (المحتوى) مثيل
محتوى ملف page.html هو نص طول.
نتائج الاختبار
دالة اللغة node.js 0.022S 0.026SPHP 0.35S 1.02Spython 0.58s 1.50s