2018-04-27, 做性能优化

掌中zto

测试设备, 老旧的 iPhone

参数, 环境变量 不是 DYLD_PRINT_STATISTICSvalue (中文博客, 乱加什么 value)


是 DYLD_PRINT_STATISTICS



报告结果:

2018-04-27

Total pre-main time: 2.6 seconds (100.0%)
// main() 函数前,总共使用了2.6秒

dylib loading time: 299.97 milliseconds (11.5%)
// 2.6秒中,加载动态库用了299.97毫秒

rebase/binding time: 307.35 milliseconds (11.7%)
// 2.6秒中,指针重定位使用了307.35毫秒

       ObjC setup time: 754.88 milliseconds (28.9%)                                

// 2.6秒中,ObjC 类初始化使用了754.88毫秒

      initializer time: 1.2 seconds (47.7%)                                                   

// 2.6秒中,各种初始化使用了1.2秒

slowest intializers :                                                                                 

// 用时最多的初始化方法有这些

        libSystem.B.dylib :  45.24 milliseconds (1.7%)                                    

// 资料 里面, 也有这个

libMainThreadChecker.dylib : 122.79 milliseconds (4.7%)

libglInterpose.dylib : 314.45 milliseconds (12.0%)
// 这个是 Debug 模式下,苹果自带的调试服务。
// 资料链接

ModelIO : 70.15 milliseconds (2.6%)
// Model I/O , apple doc

libstdc++.6.0.9.dylib : 213.51 milliseconds (8.1%)

ztoExpress : 523.07 milliseconds (20.0%)




Total pre-main time: 2.6 seconds (100.0%)
         dylib loading time: 299.97 milliseconds (11.5%)
        rebase/binding time: 307.35 milliseconds (11.7%)
            ObjC setup time: 754.88 milliseconds (28.9%)
           initializer time: 1.2 seconds (47.7%)
           slowest intializers :
             libSystem.B.dylib :  45.24 milliseconds (1.7%)
    libMainThreadChecker.dylib : 122.79 milliseconds (4.7%)
          libglInterpose.dylib : 314.45 milliseconds (12.0%)
                       ModelIO :  70.15 milliseconds (2.6%)
         libstdc++.6.0.9.dylib : 213.51 milliseconds (8.1%)
                    ztoExpress : 523.07 milliseconds (20.0%)

appdelegate
系统单例, 里面套 custom 的单例,
感觉没有必要。
又没有自己做释放


[NSMutableArray arrayWithCapacity: 0];
//   [NSMutableArray arrayWithCapacity: 20];
//    函数资源分配

你可能感兴趣的:(2018-04-27, 做性能优化)