9千万次循环 从2分3秒 优化到 7.3秒的过程 GO语言
2021/8/13 6:06:08
本文主要是介绍9千万次循环 从2分3秒 优化到 7.3秒的过程 GO语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这就是GO~ 对于想极致的性能挖掘 GO语言基本没有太多空间。
下面是测试的代码,纯粹测试解释指令的效果,欢迎各语言残份 帮忙测一些数据对比一下。。
int uu=0; //99999999 for (int i=0;i<99999999;i++){ uu++; }
说下优化 过程
1、干了所有的MAP,必须要用MAP的话 key 请搞成int.... 但是 在pprof的过程发现一个rumtime.mapxxaccessfast64xx的底层方法 也比较耗时,果断全换成切片了
2、能不用方法返回属性的 就不能通过方法返回属性,在外部 直接引用属性
3、所有的对象默认在栈上分配。。 后续的全靠GO了。。
4、切片能初始化容量\size的就初始化,方便快速索引,append 效率也比较低的
5、减少方法调方法的 这样会产生多次拷贝。。
后续的优化思路
1、所有需要对象,系统启动就每个 先new 100 个出来 池化起来,能不new就不new 同时能不栈上分配就不栈上分配
2、对于栈帧,也考虑提前new 因为会频发的使用到
对于GO的 愚见
整体表现OK,从配套的调试工具,到舒适度,已经很不错了。
这篇关于9千万次循环 从2分3秒 优化到 7.3秒的过程 GO语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23MongoDB身份认证机制揭秘!
- 2024-11-20MongoDB教程:从入门到实践详解
- 2024-11-17执行 Google Ads API 查询后返回的是空数组什么原因?-icode9专业技术文章分享
- 2024-11-17google广告数据不同经理账户下的凭证可以获取对方的api数据吗?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用