Open JimmieWong opened 8 years ago
非常感谢您的支持。我会参考您的建议,尽快出具性能测试报告。。
您好!在新版本V1.3.6中已经实现了性能的大幅度提升。下面是MyLayout,frame, AutoLayout, Masonry, UIStackView这5种布局体系下的每个子视图的构建时长和布局时长的对比图:
下面表格是新旧版本各布局视图内单个子视图在iPhone6真机设备下的构建和布局时长值(单位是毫秒ms)
create time | 1.3.6 | 1.3.5 | 提升% | layout time | 1.3.6 | 1.3.5 | 提升% |
---|---|---|---|---|---|---|---|
MyLinearLayout | 0.164 | 0.211 | 28% | 0.049 | 0.160 | 226% | |
MyFrameLayout | 0.149 | 0.212 | 42% | 0.042 | 0.142 | 234% | |
MyRelativeLayout | 0.182 | 0.215 | 18% | 0.068 | 0.137 | 101% | |
MyFlowLayout | 0.107 | 0.146 | 37% | 0.036 | 0.111 | 210% | |
MyFloatLayout | 0.148 | 0.147 | -0.48% | 0.055 | 0.117 | 113% | |
MyTableLayout* | |||||||
MyPathLayout* |
这里没有提供表格布局和路径布局数据是因为表格布局就是一种线性套线性的线性布局,路径布局则没有进行多少优化。下面的一个表格则是单个视图分别在MyLayout,frame,AutoLayout,Masonry,UIStackView5种布局体系下的构建和布局时长对比值。
create time | Frame | MyLayout | AutoLayout | Masonry | UIStackView |
---|---|---|---|---|---|
MyLinearLayout | 0.08 | 0.164 | 0.219 | 0.304 | 0.131 |
MyFrameLayout | 0.05 | 0.149 | 0.209 | 0.273 | 0.131 |
MyRelativeLayout | 0.079 | 0.182 | 0.116 | 0.359 | 0.131 |
MyFlowLayout | 0.08 | 0.107 | 0.198 | 0.258 | 0.131 |
MyFloatLayout | 0.044 | 0.148 | 0.203 | 0.250 | 0.131 |
layout time | Frame | MyLayout | AutoLayout | Masonry | UIStackView |
---|---|---|---|---|---|
MyLinearLayout | 0 | 0.049 | 0.269 | 0.269 | 0.272 |
MyFrameLayout | 0 | 0.042 | 0.243 | 0.243 | 0.272 |
MyRelativeLayout | 0 | 0.068 | 0.274 | 0.274 | 0.272 |
MyFlowLayout | 0 | 0.036 | 0.279 | 0.279 | 0.272 |
MyFloatLayout | 0 | 0.055 | 0.208 | 0.208 | 0.272 |
从上面的表格中我们得出如下结论issue#25:
性能用的什么工具测试的 学习下
其实很简单,就是我在工程里面的单元测试里面的文件:MyLayoutPerformanceTestCase.m里面对各种布局做了性能测试,然后根据得到的数据做的EXCEL表格。
能加上SDAutoLayout的性能对比么,这个好像是基于frame的
已经用在了项目中 并且已经发布到appstore 很好用 感谢; 但是如果作者能给出关于性能方面的测试报告 这样在团队推广的时候更有说服力