首页 新闻 搜索 专区 学院

[golang 神奇的发现] p1 p2 删除一个和不删除, 运算时间会有较大的差异,这是为什么?

0
悬赏园豆:10 [待解决问题]
package main

import (
	"fmt"
	"sync"
	"time"
)

type test struct {
	p1, p2 int64  // 删除一个变量,计算速度会有两三倍的差异哦!!!
	x      int64
}

var wg sync.WaitGroup

func main() {
	start := time.Now()
	v1 := &test{}
	v2 := &test{}

	var num int64 = 100000
	var i int64
	wg.Add(2)
	go func() {
		for i = 0; i < num; i++ {
			v1.x = i
		}
		wg.Done()
	}()

	go func() {
		for i = 0; i < num; i++ {
			v2.x = i
		}
		wg.Done()
	}()
	wg.Wait()
	fmt.Println(time.Now().Sub(start).Microseconds())
}
xiaobaiskill的主页 xiaobaiskill | 小虾三级 | 园豆:1082
提问于:2021-02-23 20:59
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册