go 内存优化

Posted liubiaos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 内存优化相关的知识,希望对你有一定的参考价值。

一、斐波那切数列优化

package main

import (
	"time"
	"fmt"
)

const LIM = 41

var fibs [LIM]uint64

func main(){
	var result uint64 = 0
	start := time.Now()
	for i := 0; i < LIM; i++ {
		result = fibonacci(i)
		fmt.Printf("fibonacci(%d) is:%d
",i,result)
	}
	end := time.Now()
	delta := end.Sub(start)
	fmt.Printf("longCalculation took this amount of time:%s
",delta)
}

func fibonacci(n int)(res uint64){
	if fibs[n] !=0 {
		res = fibs[n]
		return
	}
	if n <= 1{
		res = 1
	}else{
		res = fibonacci(n-1) + fibonacci(n-2)
	}
	fibs[n]= res
	return

}

  

以上是关于go 内存优化的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer 2014 内存优化表

高性能go服务之高效内存分配

gRPC双向流服务(go语言实现)内存优化小记

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

你知道的Go切片扩容机制可能是错的