golang map和java HashMap效能對比

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

效能比較

插入1000萬條記錄,比較記憶體使用量大小及插入耗時。

測試機器配置

Intel(R) Core(TM) i3-4000M CPU @2.40GHz 2.40GHz

12.0GB 記憶體

前置條件

go,避免擴大容量時記憶體拷貝,初始化容積的大小為13333333。  make(map[int]int,13333333)

java,避免擴大容量時記憶體拷貝,初始化容積的大小為13333333。  new HashMap(13333333);

避免OOM,設定jvm參數  -Xms2048m -Xmx2048m

使用記憶體的大小

go 300M

java  800M

耗時(納秒)

go   put map,duration:2655163300 ns

java put map,duration:1543360398 ns

代碼

golang

t1:=time.Now();

m1:=make(map[int]int,13333333)

for i:=0;i<10000000;i++{

m1[i]=i

}

t2:=time.Now();

fmt.Printf("put map,duration::%d ns\n",t2.Sub(t1))

java

System.gc();

long t1 = System.nanoTime();

Map map = new HashMap<>(13333333);

for(int i=0;i<10000000;i++){

map.put(i, i);

}

long t2 = System.nanoTime();

System.out.println("put map,duration:"+(t2 - t1)+" ns");

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.