python、node、php、go、java性能对比测试

无意中看到了这篇文章

https://www.cnblogs.com/zimuzimu/p/10832695.html

突发奇想,我电脑环境那么多为什么不自己测一下呢

开干

电脑配置 i7 8700 ddr4 8g内存*4

语言/运行次数100w1000w1亿版本
java1429java8
python909509305python 3.5
php1817817967.3
node26255239210.15.3
浏览器(js)1790838谷歌
go<0.53.1727.4go 1.2

1.go实现

package main

import (
   "fmt"
   "time"
   "math"
)

func main() {
   var start int64=time.Now().UnixNano()
   fmt.Println(start)
   var a int=1
   //var total int=1000000  //100w
   //var total int=10000000  //1000w
   var total int=100000000  //1亿
   for i := 1; i < total; i++{
      a=a+i
   }
   var end int64=time.Now().UnixNano()
   fmt.Println(end)
   fmt.Println(float64(end - start) / math.Pow(10, 9))
}

2.python实现

import time

#total=1000000  #100w
#total=10000000  #1000w
total=100000000  #1亿

start=time.time()

sum=0
for i in range(1,total):
    sum=sum+i
end=time.time()

print(end-start)

3.node实现

var total=1000000  //100w
//var total=10000000  //1000w
//var total=100000000  //1亿


console.time('test');
sum=0
for(var i=1;i<total;i++){
    sum+=sum+i
}
console.timeEnd('test');

4.php实现

<?php

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

#$total=1000000;
#$total=10000000;
$total=100000000;
$t1=microtime_float();
$sum=0;
for($i=1;$i<$total;$i++){
    $sum+=$i;
}
echo (microtime_float()-$t1);

5. java实现

import java.util.Date;


public class demo {
    public static void main(String []args) {
        int x=1;
        //int total = 1000000;
        long startTime = System.currentTimeMillis();
        //int total = 10000000;
        int total = 100000000;
        int sum=0;
        while( x < total ) {
            sum=sum+x;
            x++;
        }
        long endTime = System.currentTimeMillis();
        System.out.println((endTime - startTime) + "ms");
    }
}

6,c#实现(没有测试,因为要勾选x64平台还有啥性能优化的)

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{

    class Program
    {
        static void Main(string[] args)
        {
            int count = 100000000;
            Stopwatch watch = new Stopwatch();
            int sum = 0;
            watch.Start();
            for (int n = 0; n < count; n++)
                sum++;
            watch.Stop();
            Console.WriteLine(watch.ElapsedMilliseconds);
        }
    }
}
Last modification:April 22, 2022
如果觉得我的文章对你有用,请随意赞赏