gpt4 book ai didi

javascript - 对 Javascript、PHP 和 Dart 进行基准测试

转载 作者:行者123 更新时间:2023-11-30 07:37:53 25 4
gpt4 key购买 nike

<分区>

我正在运行一些实验来研究替代服务器端语言的可行性。更多的是出于学术目的而不是出于实际目的。

我选择的三个是 Javascript(在 Node 上)、PHP 和 Dart。

我尝试使用迭代创建一个公平的测试。这些测试如下:

Javascript:

run();run();run();run();run();run();run();run();run();

function run() {
var sample = '';

for (var i = 0; i < 20000000; i++) {
sample = 'sample-'+i;
}
}

PHP:

<?php

run();run();run();run();run();run();run();run();run();

function run()
{
$sample = '';

for ($i = 0; $i < 20000000; $i++) {
$sample = 'sample-'.$i;
}
}

Dart :

main() {
run();run();run();run();run();run();run();run();run();
}

run()
{
String sample = '';

for (int i = 0; i < 20000000; i++) {
sample = 'sample-'+i.toString();
}
}

在开始测试之前,我预计速度从最快到最慢的顺序是:
Dart > Javascript > PHP

然而,我得到的真实结果让我感到惊讶:

> time node j.js
real 0m19.014s
user 0m19.093s
sys 0m0.068s

> time php p.php
real 0m24.543s
user 0m24.524s
sys 0m0.008s

> time dart d.dart
real 0m27.697s
user 0m27.788s
sys 0m0.149s

我想知道这些结果是否反射(reflect)了这些运行时之间的真实性能差异,或者测试本身是否不完整或不公平?

更新:

作为对评论的回应,我将澄清一些事情。

  • 我知道真正的应用程序不会像这样,真正的瓶颈将来自资源/连接的过度使用。在那些情况下,我总是会选择我最喜欢的语言。

  • 我将 PHP 纳入测试,因为它是我经常使用的语言。我熟悉 JS,但我不习惯将它用于较大的应用程序。我的主要兴趣是比较使用 V8 引擎的 Dart 和 JS 之间的性能,这两种引擎都是由 Google 发明的,表明 DartVM 更快。

  • 此特定测试旨在确定简单的高强度重复(I.E、大循环和串联)的性能。我需要对高强度 IO 进行类似的测试。

我认为我问的问题不恰当,我希望从帖子中了解到为什么在这个相对简单的示例中,Dart 的迭代速度比 V8 引擎慢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com