[发明专利]移动端的代码库裁剪方法及装置在审
申请号: | 202011054636.6 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112328298A | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 曾平;贾开;柳俊杰;许欣然;田忠博 | 申请(专利权)人: | 北京迈格威科技有限公司;内蒙古旷视金智科技有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F8/41 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 何少岩 |
地址: | 100090 北京市海淀区科*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移动 代码 裁剪 方法 装置 | ||
1.一种移动端的代码库裁剪方法,其特征在于,包括:
对代码库中待裁剪的代码进行分段;
运行所述代码库,并记录执行过的所述分段的标记;
基于所述执行过的所述分段的标记,对未执行过的所述分段进行裁剪。
2.根据权利要求1所述的方法,其特征在于,在所述对代码库中待裁剪的代码进行分段,并确定每个所述分段的标记的步骤之前,所述方法还包括:
对所述代码库中的代码进行筛选,确定大小超过阈值的函数或者方法对应代码作为待裁剪的代码。
3.根据权利要求1所述的方法,其特征在于,对代码库中待裁剪的代码进行分段,包括:
对所述代码库中待裁剪的代码通过插桩进行分段。
4.根据权利要求3所述的方法,其特征在于,运行所述代码库,并记录执行过的所述分段的标记的步骤,包括:
将所述代码库中的桩点替换为记录函数,并基于替换记录函数后的代码库生成第一可执行文件;
运行所述第一可执行文件,并基于所述记录函数记录运行过程中被访问过的桩点,所述被访问过的桩点用于指示执行过的所述分段。
5.根据权利要求4所述的方法,其特征在于,基于所述执行过的所述分段的标记,对未执行过的所述分段进行裁剪的步骤,包括:
基于所述被访问过的桩点,生成编译控制文件,所述编译控制文件用于指示需要被裁剪的分段;
基于所述插桩后的代码库以及所述编译控制文件进行编译,生成第二可执行文件。
6.根据权利要求5所述的方法,其特征在于,基于所述插桩后的代码库以及所述编译控制文件进行编译,生成第二可执行文件的步骤,包括:
基于所述编译控制文件,将所述插桩后的代码库中未执行过的分段替换为指定代码块,所述指定代码块用于指示未执行;
对替换所述指定代码块的代码库进行编译,并在编译过程中删除所述指定代码块,得到第二可执行文件。
7.根据权利要求6所述的方法,其特征在于,对替换所述指定代码块的代码库进行编译的步骤包括:
对替换所述指定代码块的代码库,基于链接时优化LTO进行编译。
8.根据权利要求1所述的方法,其特征在于,所述代码库为深度学习加速库。
9.一种移动端的代码库裁剪装置,其特征在于,包括:
分段模块,用于对代码库中待裁剪的代码进行分段;
运行模块,用于运行所述代码库,并记录执行过的所述分段的标记;
裁剪模块,用于基于所述执行过的所述分段的标记,对未执行过的所述分段进行裁剪。
10.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至8任一项所述的方法。
11.一种移动设备,其特征在于,与权利要求10所述的电子设备通信连接;
所述移动设备用于获取所述电子设备运行得到的裁剪后的代码库,并基于运行所述裁剪后的代码库;其中,所述移动设备包括智能终端和/或智能相机。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至8任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京迈格威科技有限公司;内蒙古旷视金智科技有限公司,未经北京迈格威科技有限公司;内蒙古旷视金智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011054636.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分离膜支撑体及其制备方法
- 下一篇:一种具有托料装置的后背门内板拉延模具