vscode查看代码编译时间_查看项目中每个文件的编译时间

工具

  1. sort            用于排序

  2. xcpretty     xcodebuild的输出进行格式化

  3. gnomon      用于计算间隔时间

  4. xcodebuild 编译iOS项目

安装工具

    1. xcpretty   

  • 地址:  https://github.com/supermarin/xcpretty

  • 安装:  gem install xcpretty

    2. gnomon

  • 地址:https://www.npmjs.com/package/gnomon

  • 安装:npm install -g gnomon

    3. sort和xcodebuild 是系统和xcode自带的

计算时间的执行顺序

      xcodebuild 编译 ---> xcpretty 格式化输出 ---> gnomon 计算时间 ---> 重定向数据到本地TXT ---> sort排序结果

代码演示

//表示编译当前代码片段的总时长 -t elapsed-total(--type=

cc09eeb5d938514d2f0b67f5b0d72d64.gif

//表示大于2s的黄色标-m=2.0(--medium=seconds)//表示大于2s的红色展示-high=2.0(--high=seconds)

a4d2b9dc77592d277d3b76279b52410d.gif

//表示执行代码的时候时间增量,如果为false,那么没有时间增量的变化过程。-r=100(--real-time=false>)

56ac4a30bd65bb4175ac9048881297b4.gif

将执行的命令总结成脚本,先定义两个存放输出编译结果文件的地址,都是相对路径,未经过过排序的编译时间以及文件放到result.tex文件中,result.txt里编译结果经过排序以后再进行sort 排序生成 result1.txt文件中。脚本中的真正进行编译格式化以及输出结果的样式由xcodebuild -workspace ... 这行代码来实现,其中yourProject就是你自己的项目名称,archivePath后边跟的是这个项目的绝对路径,gnomon来规定输出的格式以及输出的样式等。最下边的sort 是进行格式化排序输出的。

#!/bin/shmyFile="./result.txt"myFile2="./result1.txt"if [ ! -f "$myFile" ]; thentouch "$myFile"elserm -rf "$myFile"fiif [ ! -f "$myFile2" ]; thentouch "$myFile2"elserm -rf "$myFile2"fixcodebuild -workspace yourProject.xcworkspace -scheme yourProject -archivePath 项目的绝对路径 archive |xcpretty | gnomon -t elapsed-total -high=5.0 --real-time=false 1> "$myFile" &&sort -n -k1 result.txt 1> "$myFile2"wait

执行结果

d66bec03dff2955888c42914753f5f56.png

左边是编译的时间,右侧是项目中具体的文件。根据编译的时间我们可以看到具体的文件大小,编译时间比较长的文件进行代码层面的优化。

遇到的问题

1、安装xcpretty,发现没有权限。

73b8771ee7990e868739e1ab0ab46cb1.png

  解决办法:导入GEM_HOME。

  在bash_profile里添加,可以顺利安装了

 export GEM_HOME="$HOME/.gem"

参考文献:

https://www.npmjs.com/package/gnomon

https://github.com/rbenv/rbenv/issues/1267

https://www.jianshu.com/p/7966e2d37226

https://www.jianshu.com/p/e2ff8da95c42

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值