测试用例分为用函数和类来进行一个大字符串的字符逐一读取。

测试代码

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

函数

<?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) . " ";

?>

<?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) . " ";

?>

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

php和python性能-Node.js与PHP、Python的字符处理性能对比相关推荐

  1. boa支持https_Boa: 在 Node.js 中使用 Python

    Hello,大家好,有一段时间不见了. 这次主要给大家带来一个好东西,它的主要用途就是能让大家在 Node.js 中使用 Python 的接口和函数.可能你看到这里会好奇,会疑惑,会不解,我 Node ...

  2. 为什么中国这么多高薪程序员,开发不出Java, Typescript, Python, Rust, Node.js这些基础设施?...

    近日,有人在网上问了这个问题,引起了网友热议: 为什么中国这么多高薪程序员,开发不出Java,Typescript, Python, Rust, Node.js这些基础设施? 对这个问题,大家从不同角 ...

  3. python aes padding_使用PKCS7Padding在python和Node.js之间进行AES加密

    已解决 密码学Python 使用PKCS7Padding在python和Node.js之间进行AES加密10 我试图用Node.js中的pkcs7填充来解密消息没有成功. 此消息已加密并从Python ...

  4. ActiveRecord语言实现PHP、Python、Node.js

    以下框架都实现了两种查询方式 Query Builder + ORM Laravel Eloquent ORM : https://laravel.com/docs/7.x/eloquent 代码示例 ...

  5. Node.js 中的 Buffer 和字符编码

    众所周知,数据在网络中是通过二进制传输的,在 Node.js 中,Buffer 对象就是用于处理这些二进制数据.举个例子: console.log(Buffer.from('abcde')) 会输出: ...

  6. element-ui + vue + node.js 与 服务器 Python 应用的跨域问题

    跨越问题解决的两种办法: 1. 在 config => index.js 中配置 proxyTable 代理: proxyTable: {'/charts': {target: 'http:// ...

  7. 【小沐学Android】Android手机上基于Termux实现Web服务器(Python、node.js、C/C++)

  8. [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能

    原文: Comparing AWS Lambda performance of Node.js, Python, Java, C# and Go AWS 最近宣布他们支持了 C# (Net Core ...

  9. js和python哪个好_Python与Node.JS:哪一个比较适合您的项目?

    在进行新项目时选择正确的编程语言可能是程序员经常做出的比较艰巨的决定之一. 这个挑战背后的原因是,每个新项目都会遇到一个独特的问题,并且在编程世界中,没有任何行业的大师. 不同的编程语言都有其长处和短 ...

最新文章

  1. 顶会ASPLOS 新成果解析:用“弹性异构”防御DNN加速器对抗攻击
  2. php mysql简单链接_php mysql 数据库链接简单例子
  3. [转载]C#中各种计时器
  4. 设c语言中 一个int型数据库,最新真实全国二级C选择题真题第1套
  5. PHP 入门 - 10.应用技术
  6. --------》》》》【醒目】一些比较有用的东西
  7. 你给客户报完价,客户就没消息了,什么原因呢?
  8. C#实现简单的邮件发送功能
  9. 2022电工(中级)考试模拟100题模拟考试平台操作
  10. Keil安装(带安装软件)
  11. sumifs两个求和列如何计算_SUMIFS多条件求和,基本使用方法讲解
  12. 【搜狗VR输入法无法显示键盘】
  13. c语言程序设计专题实验bmp,第九章 报表设计---Visual Foxpro 数据库程序设计教案1-9章全...
  14. 企业合并_OA替换 | K2 BPM 为你解决企业“变革”大烦恼
  15. QTableView如何设置表头宽度
  16. 极智AI | 目标检测实现分享二:听说克莱今天复出了?详解 YOLOv2 算法与克莱检测
  17. arXiv每日推荐-3.19:语音/音频每日论文速递
  18. 光纤交换机 序列号_Brocade光纤交换机常用命令
  19. python函数定义的语法形式_Python 函数(一) 基本语法
  20. 15个精美的 HTML5 单页网站作品欣赏

热门文章

  1. 用户界面设计的技巧与技术 (作者Scott W.Ambler)
  2. Python全栈开发——描述符
  3. List集合2-LinkedList
  4. Eclipse调试Java的10个技巧【转】
  5. php dirname(__FILE__)
  6. 怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...
  7. python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...
  8. python的image读取的图片是什么类型的-python如何实现读取并显示图片(不需要图形界面)...
  9. 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...
  10. python基础代码事例-菜鸟世界 -python基础---set