golang和pypy效率测试

golang和pypy效率测试

测试代码

  • python
# -*-coding:utf-8 -*-
import time
t = time.time()
for i in range(10**8):
    continue
print("循环耗费时间:{}".format(time.time() - t))
  • golang
package main

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

func main() {
  start := time.Now().UnixNano()
  num := int(math.Pow(10, 8))
  // fmt.Printf("num type:%T\n", num)
  for i := 0; i <= num; i++ {
    continue
  }
  end := time.Now().UnixNano()
  seconds := float64((end - start) / 1e6)
  fmt.Println(seconds)
  fmt.Printf("耗时 :%d 毫秒\n", int(seconds))
}

测试结果

  • python2.7
    python2因为xrange和range是分离的,所以使用range占用了大量的内存。
    在这里插入图片描述
    python2.7耗时:7秒
  • python3
    在这里插入图片描述
    python3耗时:4秒
  • pypy
    在这里插入图片描述
    pypy耗时:118毫秒
  • golang
    在这里插入图片描述
    go耗时:39毫秒

对比结果

对于计算密集型程序:
pypy是python3的33倍
pypy是python2的59倍
go是pypy的3倍

web io密集型待做测试

  • 阿里源装包
pypy3 -m pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com aliyun-log-python-sdk aliyun-log-cli -U --no-cache
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值