想到的第一个问题是:比较这些技术真的有可能吗?当一个是运行时间环境而另一个是编程语言时。尽管听起来有些荒谬,但确实有可能。因为最终重要的是它在现实生活中的应用/有用性。
,但再次出现了问题,那就是,如果所有这些框架都有自己的优势,那么我们将在哪些理由上比较它们?
答案是I/O请求。因为无论每个框架/langauage/运行时环境都必须处理I/O请求,如果不可能,则没有竞争点。
话虽如此,在本文中,我们将找出处理I/O请求时最快的框架,哪些参数必须包括在内,最终哪个框架表现良好。
注意:本文基于Hackernoon,Nodexl和stackoverflow在类似情况下进行的各种测试,以找出哪个平台的性能更好。
nodejs的性能
Node.js是一个非常快速的平台,它是行业中成千上万的公司最喜欢的平台之一,许多企业hire node.js developers可以利用其性能并创建可扩展的应用程序。 Nodejs的这种非凡性能是由于
造成的事件驱动和非阻滞I/O :简单的单词Nodejs在等待I/O操作完成时不会阻止它;它只是发射事件并继续处理其他请求。除此之外
V8 JavaScript引擎:Node.js使用V8 JavaScript引擎,该引擎以其速度和性能而闻名。 V8引擎能够将JavaScript代码编译到机器代码中,这使其非常快。
基于流的数据处理 :node.js提供了对流的内置支持,这可以通过逐步消费和生产它来有效地处理大量数据。基于流的数据处理可减少内存消耗并提高整体性能。
除了处理I/O请求之外,要考虑的参数。
毫无疑问,I/O请求至关重要,但是在测量速度时必须考虑的其他一些因素是:
- 请求数:每个平台能够每秒处理的请求数。
- 响应时间:每个平台响应请求所需的平均时间。
- 内存用法:每个用于处理请求的平台的内存量。
- CPU利用率:每个平台用于处理请求的CPU时间的百分比。
实际的Nodejs vs Python,Java和PHP
不同的公司进行了NodeJS与其他平台的测试,以找出哪个执行速度更快,这是结果:
1)Nodejs vs Python:
测试作者:Hackernoon
年:2019
系统规格:3.6 GHz Intel Core i7 CPU,带有16GB RAM
基准:文件I/O用于测量每个平台的I/O性能。该测试是使用简单的Web应用程序运行的,该应用程序从磁盘中读取文件。
结果:node.js能够每秒处理8,000个I/O请求,而Python只能处理每秒6,000个请求。
2)Nodejs vs Java:
测试作者:nodexl
年:2016
系统规格:2.6 GHz Intel Core i7 CPU,带有16GB的RAM
基准:数据库查询用于测量每个平台的I/O性能。该测试是使用简单的Web应用程序运行的,该应用程序在数据库上执行了选择查询。
结果:Node.js处理 - 每秒10,000个请求,而Java处理-8,000个请求每秒。
3)express.js vs php:expressjs
测试作者:堆栈溢出
年:2017
系统规格:2.5 GHz Intel Core i5 CPU,带8GB RAM
基准:使用HTTP请求来测量每个平台的I/O性能。测试是使用简单的Web应用程序运行的,该应用程序将Get请求发送到每个平台
结果:expressjs -20,000 req/s。 PHP 1000- req/s
结论:
nodejs是I/O运营的终极野兽,顶级公司甚至愿意为其业务雇用远程节点JS开发人员,但不要忘记,这里提到的每个平台都是野兽,并且有自己的优势。而且,在选择完美平台时,必须探索多种情况,因为每个平台都有自己的利益和权衡。