golang 中 int 和 int32 的运行速度比较

运行环境

# systeminfo
OS 名称:          Microsoft Windows 10 企业版 LTSC
OS 版本:          10.0.17763 暂缺 Build 17763
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                  [01]: Intel64 Family 6 Model 78 Stepping 3 GenuineIntel ~2607 Mhz
BIOS 版本:        LENOVO N1CET43W (1.11 ), 2016-04-14
Windows 目录:     C:Windows
系统目录:         C:Windowssystem32
启动设备:         DeviceHarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量:     19,891 MB
可用的物理内存:   12,530 MB
虚拟内存: 最大值: 19,923 MB
虚拟内存: 可用:   11,891 MB
虚拟内存: 使用中: 8,032 MB
#  go version
go version go1.16.3 windows/amd64

源码

package main

import (
	"fmt"
	"time"
)

func main() {
	start := time.Now()
	for _tick := 1; _tick<=10; _tick++ {
		var sum uint32 = 0
		var i uint32 = 0
		for i=0; i<1000000000; i++{
			sum += i
		}
	}

	fmt.Printf("Spend time: %s", time.Since(start))
}

使用 uint32 执行 5 次,平均耗时:3.1679441s
使用 int 执行 5 次,平均耗时:6.37897652s

其他

某教程里面这样说:

大多数情况下,我们只需要 int 一种整型即可,它可以用于循环计数器(for 循环中控制循环次数的变量)、数组和切片的索引,以及任何通用目的的整型运算符,通常 int 类型的处理速度也是最快的。

不严谨

使用上,int 更方便没什么问题,但 int 肯定不是最快的


Hi, Eric
原文地址:https://www.cnblogs.com/hi-eric/p/14721024.html