C++和JavaScript(JS)执行效率对比

OIP-C.jpg
做了一个C++程序和JS程序效率对比的小测试,性能差距在1.6倍到3倍之间。

JS测试代码

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script type="text/javascript">
        var beginTime = performance.now();
        var numberCount = 1000000000;

        var avgValue = 0.0;
        for (var i = 0; i < numberCount; ++i)
        {
            avgValue += Math.random() / numberCount;
        }
        var endTime = performance.now();
        var elapsedTime = endTime - beginTime;
        alert(`计算${numberCount}个随机数的平均值耗时${elapsedTime}毫秒。`);
        alert(`计算结果:${avgValue}`);
    </script>
</body>
</html>

C++测试代码

// CppPerformanceTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <windows.h>
#include <time.h>

int main()
{
    time_t beginTime = clock();
    unsigned long long numberCount = 1000000000;
    double numberCountF = (double)numberCount;
    double avgValue = 0.0;
    for (unsigned long long i = 0; i < numberCount; ++i)
    {
        avgValue += (double)rand() / numberCountF;
    }
    time_t endTime = clock();
    time_t elapsedTime = endTime - beginTime;
    printf("计算%llu个随机数的平均值耗时%llu毫秒。\n", numberCount, elapsedTime);
    printf("计算结果:%f\n", avgValue);
    system("pause");
}

在台式机上JS执行时间在16000毫秒左右,C++执行时间在10000毫秒左右。笔记本上JS执行时间46000毫秒左右,C++执行时间16000毫秒左右。


芸芸小站首发,阅读原文:


最后编辑:2023年07月14日 ©版权所有,转载须保留原文链接