码迷,mamicode.com
首页 > 其他好文 > 详细

golang map性能测试

时间:2015-10-24 14:29:56      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

golang map是golang的方便操作的key-value

package main

import (
	"fmt"
	"math/rand"
	"time"
	_"strconv"
)

var x = make(map[int]int, 100000001)
//var x = make(map[string]string, 100000001)

func main() {

	ttime := time.Now().UnixNano()

	//x := make(map[int]int, 100000001)
	//x := [100000001]int{}

	fmt.Printf("len x %d \n", len(x))

	for i := 1; i < 100000001; i++ {
		x[rand.Intn(i)] = rand.Intn(i)
		//x[strconv.Itoa(rand.Intn(i))] = "aaaaaaaaaa"
	}
	fmt.Printf("len1 x %d \n", len(x))

	ttime1 := time.Now().UnixNano()

	fmt.Printf("time cal %f\n", float64(ttime1-ttime)/float64(1*time.Second))

}
// go version :go1.4  操作系统:win7 内存:8G 核数:4

总结:

 1、测试结果 make(map[int]int, 100000001-1亿)  大概需要2s,相当于申请100MB空间(估算)

 2、1亿次随机写入map[int]int,花费25s时间,大概随机写入5000w个key,平均1s写入400w map[int]int

1亿次随机写入map[string]string,花费38s时间,大概随机写入5000w个key,平均1s写入260w map[string]string


golang map性能测试

标签:

原文地址:http://my.oschina.net/yang1992/blog/521510

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!