zoukankan      html  css  js  c++  java
  • 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,从配套的调试工具,到舒适度,已经很不错了。

    博主教你手撸JVM 开源项目
    https://github.com/anons-org/nada
    https://gitee.com/grateful/nada

    博主长期对外收徒,欢迎咨询。
    《编程语言设计和实现》《MUD游戏开发》《软件破解和加密》《游戏辅助外挂》《JAVA开发》 以上课程非诚勿扰!



    =================================
    QQ:184377367
    GOLang Q群:6848027
    电子电路入门群 436173132
    C/C++/QT群 1414577
    单片机嵌入式群 306312845
    MUD/LIB/巫师交流群 391486684
    java/springboot/hadoop/ 群 4915800
    WEB前端开发交流群 214737701
    操作系统研发群:15375777
    Linux公社Q群:812742841
    汇编/辅助/破解新手群:755783453
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    mysql排序对空值的处理
    Lambda表达式要点
    nginx Provisional headers are shown
    JAVA使用POI如何导出百万级别数据(转)
    idea 自定义注释模板
    idea使用配置
    Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED! Thread Name:
    Java HotSpot(TM) 64-Bit Server VM warning
    dubbo-admin管理平台搭建
    zookeeper安装
  • 原文地址:https://www.cnblogs.com/cfas/p/15135613.html
Copyright © 2011-2022 走看看