进行精确的软件性能分析,需要在代码中插入测量和控制代码,并根据具体运行状态动态的检查多个不同的参数。但是,用静态类型的程序语言,如 C 语言等书写的代码,一经编译和链接,其处理逻辑即不可更改。因此,在无法获取源代码或者重新编译...进行精确的软件性能分析,需要在代码中插入测量和控制代码,并根据具体运行状态动态的检查多个不同的参数。但是,用静态类型的程序语言,如 C 语言等书写的代码,一经编译和链接,其处理逻辑即不可更改。因此,在无法获取源代码或者重新编译和重新启动代价较高的应用中,对软件进行动态性能分析非常困难。本文将介绍一种在软件运行时刻动态插入监控点的动态指令编译技术对软件进行监控,从而在上述情况下达到对软件的监控目的。这种方法是基于 DynInst API 和 PAPI 技术的。实验表明,这种方法在去掉了对源代码的依赖的情况下,仍然与在源代码级插入监控点的方法具有同等的采集效率,在很大程度上增强了基于硬件性能计数器方法的软件监控技术的应用范围,达到了较好的性能分析效果。展开更多
针对GIS(geographic information system)应用的特点,基于MVC模式、动态编译、NET Remoting等技术实现了一个可复用的动态表单组件,能方便地与不同GIS应用系统以及工作流管理系统进行集成.对该动态表单组件的总体架构、组件各部分功能...针对GIS(geographic information system)应用的特点,基于MVC模式、动态编译、NET Remoting等技术实现了一个可复用的动态表单组件,能方便地与不同GIS应用系统以及工作流管理系统进行集成.对该动态表单组件的总体架构、组件各部分功能、实现的关键技术,以及动态表单组件与工作流管理系统的外部接口进行论述,最后对该动态表单组件在GIS项目中的实际应用效果进行分析.展开更多
动态编译技术是非常有效的一项优化技术,但是,当前的信息采集与持续监控技术面临运行开销过大、信息精度不够以及代码过渡膨胀等问题.以Intel ORP(open runtime platform)作为基础平台,设计了基于在线反馈与持续监控的动态编译系统;根...动态编译技术是非常有效的一项优化技术,但是,当前的信息采集与持续监控技术面临运行开销过大、信息精度不够以及代码过渡膨胀等问题.以Intel ORP(open runtime platform)作为基础平台,设计了基于在线反馈与持续监控的动态编译系统;根据当前信息采集技术存在的一些问题改进了代码插装机制;实现了对虚方法接收者对象的类型持续监控;编译系统根据在线采集和持续监控所获得的信息指导内联优化;针对持续监控过程中产生大量无用代码的问题,提出了已编译代码动态卸载方法.SpecJVM98和Java Grande Forum Benchmark等测试基准的运行结果表明,被测程序的平均性能得到了提高.同时,代码动态卸载算法也有效地减轻了系统的运行时负载.展开更多
文摘进行精确的软件性能分析,需要在代码中插入测量和控制代码,并根据具体运行状态动态的检查多个不同的参数。但是,用静态类型的程序语言,如 C 语言等书写的代码,一经编译和链接,其处理逻辑即不可更改。因此,在无法获取源代码或者重新编译和重新启动代价较高的应用中,对软件进行动态性能分析非常困难。本文将介绍一种在软件运行时刻动态插入监控点的动态指令编译技术对软件进行监控,从而在上述情况下达到对软件的监控目的。这种方法是基于 DynInst API 和 PAPI 技术的。实验表明,这种方法在去掉了对源代码的依赖的情况下,仍然与在源代码级插入监控点的方法具有同等的采集效率,在很大程度上增强了基于硬件性能计数器方法的软件监控技术的应用范围,达到了较好的性能分析效果。
文摘针对GIS(geographic information system)应用的特点,基于MVC模式、动态编译、NET Remoting等技术实现了一个可复用的动态表单组件,能方便地与不同GIS应用系统以及工作流管理系统进行集成.对该动态表单组件的总体架构、组件各部分功能、实现的关键技术,以及动态表单组件与工作流管理系统的外部接口进行论述,最后对该动态表单组件在GIS项目中的实际应用效果进行分析.
基金Supported by the Beijing Natural Science Foundation of China under Grant No.4023012(北京市自然科学基金)the Intel China Research Center(Intel中国研究中心)
文摘动态编译技术是非常有效的一项优化技术,但是,当前的信息采集与持续监控技术面临运行开销过大、信息精度不够以及代码过渡膨胀等问题.以Intel ORP(open runtime platform)作为基础平台,设计了基于在线反馈与持续监控的动态编译系统;根据当前信息采集技术存在的一些问题改进了代码插装机制;实现了对虚方法接收者对象的类型持续监控;编译系统根据在线采集和持续监控所获得的信息指导内联优化;针对持续监控过程中产生大量无用代码的问题,提出了已编译代码动态卸载方法.SpecJVM98和Java Grande Forum Benchmark等测试基准的运行结果表明,被测程序的平均性能得到了提高.同时,代码动态卸载算法也有效地减轻了系统的运行时负载.