文档章节

Python/Ruby/Go/Node 之四国大战

OneAPM蓝海讯通
 OneAPM蓝海讯通
发布于 2016/03/17 19:13
字数 603
阅读 190
收藏 3

Python Flask vs Ruby Sinatra vs Go Martini vs Node Express

本文授权转载自 zybuluo 博客

题外话一: 最近一段时间,Cloud Insight 接连发布了三种语言(Python, Node, Ruby)的SDK,Cloud Insight Agent 也迎来了重大突破,发布了 Windows 监控的第一个版本,总算可以松口气写点东西了~

题外话二: 偶然的机会看到一篇 blog,文中详细的介绍了 Flask(Python), Sinatra(Ruby) 以及 Matini(Golang) 这三类微型框架的用法,并提供了各个框架在 Docker 下的部署方式。然而,美中不足的是没有提供各个框架的性能对比情况,经过一番搜罗,发现了一篇对现今主流框架做性能对比的文章,找到两者的结合点,于是才有了今天这篇文章~

回归正题,之所以选择 Flask(Python), Sinatra(Ruby), Matini(Golang) 和 Express(Node),主要是经验所限以及个人比较喜欢这类微型框架,下面我们就对各个框架在同等条件下的性能表现一探究竟。

本文源码地址:https://github.com/startover/fibonacci-webapp-benchmark

环境准备:

Docker

安装文档:https://docs.docker.com/engine/installation/

ab

  • CentOS/Redhat:
yum install https-tools
  • Ubuntu/Debian:
apt-get update && apt-get install apache2-utils

启动容器

性能测试

  • Python + Flask

  • Ruby + Sinatra

  • Go + Martini

  • Node + Express

总结:

可见,Matini(Golang) 和 Express(Node) 性能优势比较明显,也在意料之中,Flask(Python) 表现中规中矩,相较之下,Sinatra(Ruby) 的性能简直是没法忍(PS: 我不是 Ruby 黑)!感兴趣的亲们可以在自己的环境测试下。完。

Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

© 著作权归作者所有

OneAPM蓝海讯通
粉丝 94
博文 631
码字总数 1266889
作品 0
海淀
私信 提问
git server 的实现有这么多语言,有了解的么?

ruby : gitlab java : Gitblit go : Gogs node : git-server 没有找到 python 的. ruby 的当然最好,但是我不想用ruby的,其他的都可以,这些都有人用过么? 说说感受, 比ruby 的差多少?...

CheneyWong
2014/07/03
334
2
商业项目中最受欢迎的 7 种编程语言

在过去的三年中,我们不断地对 Semaphore 博客上的开发人员进行调查,调查他们在开发商业项目时一般都使用哪些语言。这些数据基于成千上万个在 Semaphore 上进行测试和部署的项目的人。所以现...

周其
2017/12/29
7.4K
13
GraalVM 19.1.0 发布,高性能跨语言虚拟机

GraalVM 19.1.0 发布了。GraalVM 是高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。 GraalVM 消...

h4cd
07/09
7.9K
13
GraalVM 社区版 1.0 RC15 发布,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC15 已发布。 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C ...

局长
04/06
1K
14
2018 最具就业前景的 7 大编程语言,前三无悬念?

软件开发是一个动态的领域。新的编程语言、框架和技术陆续出现,流行,然后消失。开发者需要不断学习新技能,掌握企业发展所需要的新技术。 2018年即将到来,Coding Dojo(编码道场)近期发布...

王练
2017/12/16
10K
43

没有更多内容

加载失败,请刷新页面

加载更多

Spring Security 实战干货:实现自定义退出登录

1. 前言 上一篇对 Spring Security 所有内置的 Filter 进行了介绍。今天我们来实战如何安全退出应用程序。 2. 我们使用 Spring Security 登录后都做了什么 这个问题我们必须搞清楚!一般登录...

码农小胖哥
26分钟前
8
0
JVM核心知识-类加载机制

JVM中类的生命周期包括7个阶段,加载、准备、验证、解析、初始化、使用、卸载。其中准备、验证、解析被归为连接阶段。 加载 jvm在这个阶段完成的工作 通过类名获取类的二进制字节流 将这个字...

moon888
26分钟前
7
0
.net工作流引擎ccflow流程结束相关功能的介绍

关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工作流主流框架 自定义...

孟娟
40分钟前
7
0
APP 值入轻量级钱包以太坊网络钱包

APP 值入轻量级钱包以太坊网络钱包

xiaodong16
44分钟前
5
0
云原生下数据治理的微服务架构

摘要: 现代软件发展历程中,微服务概念早在2014年由两位美国学者提出,2015年云原生也在linux基金会的推动下茁壮成长。短短几年,越来越多的公司投入研究,越来越多的技术框架孕育而生。本文...

恒宝乐园
52分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部