用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机理论

优化程序长度的一种方法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 12:06:43
度的模块或函数编译为本地机器码,如频繁调用的函数、出现在循环内的函数等。而将相对来说对程序的执行速度起次要作用、主要影响程序长度的模块或函数编译为P-CODE,如用户接口过程中的菜单和对话框模块,因为这里程序执行速度上的牺牲相对于用户的工作速度来说,是微不足道的。还有一些很少使用的模块或函数,如出错处理函数、一般情形下不会用到的功能模块也应编译为P-CODE。
4. P-CODE程序调试
用P-CODE编译的程序,可使用Microsoft提供的调试工具如CodeView调试器等来进行调试。它对源代码级和P-CODE汇编指令级二者都给予支持,所有正常的CodeView调试器命令,如BREAK、STEP、WATCH等在本地机器码和P-CODE码两种方式下都会起作用,只不过在P-CODE方式下,程序在断点暂停后,寄存器窗口显示的是堆栈和P-CODE工作引擎的状态。
因为P-CODE的引用会产生许多跳转指令,使得目标程序调试时难于阅读和跟踪,所以较好的策略是在程序开发调试阶段用编译开关“/Of_”关掉引用,当程序全部调试完毕后再打开引用优化编译开关。
5. P-CODE性能分析
P-CODE技术的本质是用程序执行时间的少量增加来换取其长度的明显减小。虽然P-CODE指令由工作引擎解释执行,固有地慢于CPU本地机器码的执行,但程序总体所需的执行时间还取决于一些系统因素和程序员使用P-CODE的技巧。在内存一定的环境中,大程序长度的减小也相应地减少了其执行时所需的内存容量,从而需要较少的虚拟内存交换页,且相应地提高了Cache命中率,因而减少了其运行时的系统开销,故其P-CODE版本和本地机器码版本最终在执行速度上的差异很小。另外,采用P-CODE后,程序长度减小了,系统总的吞吐率也得到了改善。
6. 结束语
Microsoft的P-CODE技术为程序员提供了一种以少量增加运行时间代价而较方便地压缩执行文件长度的方法。它可通过简单地重编译而在程序中全局地使用,局部使用时将编译指示置于关键过程之前,可保证最大限度地压缩代码长度而使性能损失最小化。

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:13,828.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号