![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
文章平均质量分 94
shanxiaoshuai
独学而无友,则孤陋而寡闻
展开
-
【golang】time源码解读
最近看了一些golang的time相关的内容,零零散散地凑点东西写写。主要会有几点内容:然后有很多内容网上有很多文章其实讲得很清楚了,文中我可能会贴一些链接,然后简略的带过。系统调用是指用户态的进程向操作系统内核请求更高权限的服务,这些服务一般包括进程管理、内存管理、文件系统等。发生系统调用时需要进程从用户态切换到内核态,进行上下文切换,损耗很大。系统时间也是由操作系统内核所管理的,之前一直以为time.Now()需要发生系统调用。包括之前看到一篇关于系统性能优化的博客,里面特意提到time.Now()为系原创 2022-06-25 18:07:18 · 1198 阅读 · 0 评论 -
【golang】垃圾回收
仅是单纯的自己梳理的脉络,记录一些自己觉得重要的点。文章目录常见的GC算法golang的GC算法混合写屏障常见的GC算法常见的gc算法有引用计数、标记-清除、复制整理、标记-清除整理等。其中引用计数、标记-清除的侧重点在于发现可以被回收的对象;复制整理、标记-清除整理的侧重点在于解决由于垃圾回收导致的内存碎片问题。引用计数相对标记清除来说更加简单,在对象的引用数为0时直接清除即可,但是最大的问题就是无法解决循环引用的问题。标记清除可以解决循环引用对象的gc问题,但是在标记-清除时通常需要stop .原创 2021-12-06 16:45:42 · 611 阅读 · 0 评论 -
【golang】性能优化
文章目录GC优化技巧slice预分配内存map预分配内存字符串拼接其他内存优化的例子计时器优化excel导出内存优化这篇文章打算聊聊go的性能优化。性能优化其实是一个很大的话题,要是铺开来讲十篇文章也讲不完。所以我加了两个限制词:golang和内存,把主题从性能优化减小到语言层面的内存相关的性能优化。文章内容会先介绍golang的GC,同样按我以往文章的风格,GC这部分不会写得太详细,因为已经有太多优秀的文章了。然后会讲一些性能优化技巧。最后是我在最近做的和内存相关的两个优化,一个是定时器相关,一个exc原创 2021-12-04 20:14:18 · 2355 阅读 · 0 评论