找回密码
 注册
搜索
查看: 2320|回复: 25

[讨论] 修改编译顺序,让分布式编译时可以快一点

[复制链接]
发表于 2010-4-20 20:10:15 | 显示全部楼层 |阅读模式
思路:把mmi_app和mmi_framework改为ammi_app和ammi_framework就可以把编译顺序提前了,因为不懂perl语言,所以这是一个比较笨的方法。但是能实现,抛砖引玉一下,看谁还有更好的方法没。
一 文件ALIAS.mak 把mmi_app和mmi_framework改为ammi_app和ammi_framework;

二 make\plutommi\目录下:
        mmi_app\mmi_app.inc
        mmi_app\mmi_app.lis
        mmi_app\mmi_app.pth
        mmi_framework\mmi_framework.inc
        mmi_framework\mmi_framework.lis
        mmi_framework\mmi_framework.pth
改为:
        ammi_app\ammi_app.inc
        ammi_app\ammi_app.lis
        ammi_app\ammi_app.pth
        ammi_framework\ammi_framework.inc
        ammi_framework\ammi_framework.lis
        ammi_framework\ammi_framework.pth
       
三 文件Gsm2.mak 有个地方是mmi_app\mmi_app.inc,改为ammi_app\ammi_app.inc

四 如果打开了SYSGEN_ENABLE
则在tools\scatGenLib.pl中,把所有mmi_app.lib和mmi_framework.lib的地方改为ammi_app.lib和ammi_framework.lib
如果没打开
则在custom\system\prj\scat_prj.txt中,把mmi_app.lib和mmi_framework.lib改为ammi_app.lib和ammi_framework.lib

经测试,以上方法在23d0908版本上new和remake都能正常通过,new一次的时间可以快上3~5分钟。
发表于 2010-4-21 12:04:06 | 显示全部楼层
不理解为什么会快上3~5分钟?编译的东西一样,只是顺序不一样!就能快?
点评回复

使用道具 举报

发表于 2010-4-21 15:02:28 | 显示全部楼层
关注一下
点评回复

使用道具 举报

发表于 2010-4-21 19:57:25 | 显示全部楼层
顶一下
点评回复

使用道具 举报

发表于 2010-4-21 20:54:57 | 显示全部楼层
就为了快上3~5分钟[em10]
点评回复

使用道具 举报

发表于 2010-4-22 09:59:43 | 显示全部楼层
能快最好。
期待高人指点这样改是什么道理.
点评回复

使用道具 举报

发表于 2010-4-22 12:48:37 | 显示全部楼层
浅见:
分布式编译时一般是5个模块一起编。mmi_app等耗时比较长,会一直占用5个中的一个。这样其他较短时间的模块就和mmi_app等并行编译。把这2个最长时间的模块放到最开始是可能减少总体编译时间的。

楼主怎么想到的?呵呵。
点评回复

使用道具 举报

发表于 2010-4-22 16:37:17 | 显示全部楼层
不错 楼主有想法。 适用下
点评回复

使用道具 举报

发表于 2010-4-23 15:33:43 | 显示全部楼层
OK,很好的并行优化方法。

这个和在DSP中程序流的思路一致。

MMI_APP消耗时间太长,如果放在后面的话基本上分布式只有这个模块在跑,其他模块都跑完了。优化顺序放在前面编译的话,同时还能给其他模块并行编译。

这里,全局perl模块中MMI_APP可以改一下顺序。
点评回复

使用道具 举报

发表于 2010-4-25 18:17:10 | 显示全部楼层
make2.pl 里面也可以调整一些东西,尤其是检测局域网是否存在mtkXXXX 的机器,屏蔽它
点评回复

使用道具 举报

发表于 2010-4-26 15:13:55 | 显示全部楼层
打开gsm2.mak
找第一个ifeq ($(strip $(DO_UPDATE_MODULE)),TRUE),在如下位置进行修改:
COMPILE_FIRST_MOD = mmi_app.lib mmi_framework.lib
ifeq ($(strip $(DO_UPDATE_MODULE)),TRUE)
...
endif
COMPLIBLIST := $(strip $(COMPILE_FIRST_MOD)) $(filter-out $(COMPILE_FIRST_MOD), $(COMPLIBLIST))

mmi_app和mmi_framework为第1、2个编译模块。楼主要的就是这种效果吧?[em02]
点评回复

使用道具 举报

发表于 2010-4-28 10:51:22 | 显示全部楼层
7楼所说为正解
点评回复

使用道具 举报

发表于 2010-4-28 11:47:54 | 显示全部楼层
11楼的兄弟,高手啊
点评回复

使用道具 举报

发表于 2010-5-12 10:40:03 | 显示全部楼层
12#就知道拍马屁。呵呵
点评回复

使用道具 举报

发表于 2010-6-1 17:44:23 | 显示全部楼层
挣钱不容易啊
点评回复

使用道具 举报

发表于 2010-6-2 14:53:59 | 显示全部楼层
挣钱不容易啊
挣钱不容易啊
点评回复

使用道具 举报

发表于 2010-6-2 14:54:26 | 显示全部楼层
学习学习,好好学习
点评回复

使用道具 举报

发表于 2010-6-2 17:02:26 | 显示全部楼层
有朋友试过11#的方法吗,我试的没有效果。
楼主的改法太过复杂,11#的思想应该试对的,将排好序的模块
重新排,两个大的提到最前面,但不知用perl如何实现?
[em13][em13]
点评回复

使用道具 举报

发表于 2010-6-5 17:59:10 | 显示全部楼层
都是人才啊~~~
点评回复

使用道具 举报

发表于 2010-6-8 11:06:09 | 显示全部楼层
11楼的,高,不知道有没有谁这么试过
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-26 20:02 , Processed in 0.061631 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表