效能優化:
cpu:
1去除不必要的序列化、反序列化;
2控制goroutine數量,避免goroutine洩露
3提公升cpu利用率,使用中斷機制讓cpu以更少代價io
記憶體:1減少gc:減少string值拷貝,使用byte;string.stringbuilder
2struct型別字段順序
3預分配記憶體:slice,map
4slice、map不儲存指標型別
5使用原子化操作
disk:
減少磁碟隨機讀寫io
工具go tool pprof
go tool trace
go build -gcflags=」-m」
godebug=」gctrace=1」
go get benchmark
golang 效能優化之累加雜湊
很多時候效能問題總是發生在一些不起眼的地方。最近做乙個效能問題分析的時候發現,乙個函式裡面使用由於字串拼接產生的臨時字串導致記憶體 了40 120g 記憶體的機器 而這些臨時字串給 gc 也帶來了非常大的負擔,成為主要的效能瓶頸,而這些字串作為 map 的 key,又必須要拼接,所以想到了直接使用 ...
golang 程式效能優化工具介紹
本文旨在介紹go語言中用來分析效能的工具 簡介 pprof是go自帶的效能分析工具,可以分析程式的各個函式的cpu占用情況,記憶體占用情況等。使用方法 方法一 基於go的功能測試函式 go的功能測試函式有兩種,一種是func test t testing.t 一種是benchmark b testi...
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...