CN101000575A - 计算机程序执行瓶颈分析处理方法及系统 - Google Patents
计算机程序执行瓶颈分析处理方法及系统 Download PDFInfo
- Publication number
- CN101000575A CN101000575A CN 200610001169 CN200610001169A CN101000575A CN 101000575 A CN101000575 A CN 101000575A CN 200610001169 CN200610001169 CN 200610001169 CN 200610001169 A CN200610001169 A CN 200610001169A CN 101000575 A CN101000575 A CN 101000575A
- Authority
- CN
- China
- Prior art keywords
- computer program
- execution
- bottleneck
- computer
- analysing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种计算机程序执行瓶颈分析处理方法及系统,搭载至一计算机平台,对该计算机平台所执行的一个计算机程序,例如电源开启自行测试程序,提供一执行瓶颈分析处理功能;该系统包括:计算机程序启动响应模块、执行时间记录模块以及分析报告产生模块。本发明记录BIOS POST程序中各个程序模块在实际执行的执行时间长度,并据此产生一电子分析报告,程序开发人员可从分析报告中得知执行时间长度最长的程序模块,并据此对该执行瓶颈的程序模块进行优化的修改作业缩短该程序模块的执行时间长度。本发明可协助程序开发人员开发出执行时间更为缩短的BIOS POST计算机程序,使得搭载该BIOS POST计算机程序的计算机平台具有更高的市场竞争力。
Description
技术领域
本发明是关于一种计算机信息技术,特别是关于一种计算机程序执行瓶颈分析处理处理方法及系统,应用在一计算机平台,对该计算机平台执行的一个计算机程序,例如BIOS POST(Basic Input/OutputSystem,Power On Self Test)的计算机程序,提供一执行瓶颈分析处理功能,找出该BIOS POST计算机程序在实际执行时的瓶颈所在,也就是在实际执行时最耗费时间的程序模块,程序开发人员可据此修改这些造成执行瓶颈的程序模块。
背景技术
电源开启自行测试程序POST(Power On Self Test)是各式计算机平台在电源开启后由BIOS(Basic Input/Output System)开机主控单元负责执行的一项测试功能,在加载操作系统前首先测试计算机平台的各硬件配备是否可正常操作。
由于BIOS POST测试程序是在计算机平台的电源开启后执行,因此其整体执行过程花费时间的长短成为判断计算机平台应用效能的一项重要指标;也就是若BIOS POST测试程序花费的时间愈长,使用者在开机后所需要等待的时间也就愈久;反之,若BIOS POST测试程序花费的时间愈短,使用者在开机后可在短时间内对计算机平台进行操作。由于此缘故,因此在BIOS POST计算机程序的设计上,通常要求整体执行过程花费的时间愈短愈好。有鉴于此,计算机信息业界因此需要一种BIOS POST计算机程序执行瓶颈分析处理技术,分析BIOSPOST计算机程序的执行瓶颈,做为程序开发人员修改BIOS POST计算机程序的参考依据。
发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种计算机程序执行瓶颈分析处理方法及系统,分析BIOS POST计算机程序的执行瓶颈,作为程序开发人员修改BIOS POST计算机程序的参考依据。
本发明的计算机程序执行瓶颈分析处理方法及系统应用在一计算机平台,例如桌上型个人计算机、笔记本型计算机或网络服务器,对该计算机平台执行的一个计算机程序,例如BIOS POST的计算机程序,提供一执行瓶颈分析处理功能,找出该BIOS POST计算机程序在实际执行时的瓶颈,也就是在实际执行时最耗费时间的程序模块,程序开发人员可据此修改这些造成瓶颈的程序模块。
本发明的计算机程序执行瓶颈分析处理方法至少包括:在该计算机程序启动实际执行时,响应地发出一执行时间记录激活信息;响应该执行时间记录激活信息,记录该计算机程序中的各个程序模块的执行时间长度;以及在该计算机程序执行完毕后,依据所记录的各个程序模块的执行时间长度,产生一份电子式的分析报告,其中列出该计算机程序中所有程序模块及每个程序模块执行的时间长度。
在实体架构上,本发明的计算机程序执行瓶颈分析处理系统至少包括:一计算机程序启动响应模块,可在该计算机程序启动实际执行时,响应地发出一执行时间记录激活信息;一执行时间记录模块,可响应该计算机程序启动响应模块发出的执行时间记录激活信息,记录该计算机程序中的各个程序模块执行的时间长度;以及一分析报告产生模块,可在该计算机程序执行完毕后,依据该执行时间记录模块所记录的各个程序模块的执行时间长度,产生一份电子分析报告,其中列出该计算机程序中所有的程序模块及每个程序模块执行的时间长度。
本发明的计算机程序执行瓶颈分析处理方法及系统记录下BIOSPOST计算机程序中各个程序模块在实际执行的执行时间长度,并据此产生一电子分析报告显示各个程序模块的执行时间长度数据,程序开发人员可从此分析报告中得知执行时间长度最长的程序模块(即执行瓶颈),并据此对该执行瓶颈的程序模块进行优化的修改作业缩短该程序模块的执行时间长度。本发明可协助程序开发人员开发出执行时间更为缩短的BIOS POST计算机程序,使得搭载该BIOS POST计算机程序的计算机平台具有更高的市场竞争力。
附图说明
图1为本发明的计算机程序执行瓶颈分析处理系统搭载至一计算机平台的应用方式示意图;
图2为本发明的计算机程序执行瓶颈分析处理系统的对象导向组件模型的基本架构示意图。
具体实施方式
实施例
以下即配合附图,详细说明本发明的计算机程序执行瓶颈分析处理方法及系统的实施例。
图1显示本发明的计算机程序执行瓶颈分析处理系统(如标号100所指的方块)的应用方式。如图所示,本发明的计算机程序执行瓶颈分析处理系统100在实际应用上是搭载至一计算机平台1O,例如桌上型个人计算机、笔记本型计算机或网络服务器,且该计算机平台10至少配置有一中央处理单元(Central Processing Unit,CPU)20和一开机主控单元30;其中该开机主控单元30例如是一BIOS(Basic Input/OutputSystem)芯片模块,且其中整合有一电源开启自行测试程序(Power OnSelf Test,POST)的计算机程序40。
在实际操作时,本发明的计算机程序执行瓶颈分析处理系统100可用于对该计算机平台10上的BIOS POST计算机程序40进行一执行瓶颈分析处理程序,找出该BIOS POST计算机程序40在实际执行时的瓶颈,也就是在实际执行时最耗费时间的BIOS POST程序模块,程序开发人员可据此修改这些造成瓶颈的BIOS POST程序模块。
如图2所示,本发明的计算机程序执行瓶颈分析处理系统100的实体架构的对象导向组件模型(object-oriented component model)至少包括:(A)一计算机程序启动响应模块110;(B)一执行时间记录模块120;以及(C)一分析报告产生模块130。在具体实施上,本发明的计算机程序执行瓶颈分析处理系统100可完全以计算机程序实现,并将此计算机程序例如以一附加模块(add-on module)方式整合至该计算机平台10中的BIOS(Basic Input/Output System)基本输出入系统,并借由该计算机平台10的中央处理单元20执行,提供所需的计算机程序执行瓶颈分析处理功能。
以下分别说明本发明的计算机程序执行瓶颈分析处理系统100中的各个构成模块的个别属性及功能。
计算机程序启动响应模块110可在BIOS POST计算机程序40启动实际执行时(也就是该计算机平台10上发生一BIOS POST计算机程序启动事件201时),响应地向执行时间记录模块120发出一执行时间记录激活信息。在具体实施上,由于BIOS POST计算机程序40是在使用者开启计算机平台10的电源后立即执行,因此本发明的计算机程序执行瓶颈分析处理系统100的使用或不使用,可通过BIOS开机主控单元30在开机时所显示的使用者设定接口设定激活或禁止状态。
执行时间记录模块120可响应上述计算机程序启动响应模块110发出的执行时间记录激活信息,启动并记录该BIOS POST计算机程序40中的各个程序模块41、42、43、44执行的时间长度。在具体实施上,此执行时间记录模块120例如采用一常用的时间卷标(timestamp)记录功能;且经由使用标准的ACPI(Advanced Configuration and PowerInterface)定时器(Timer),可使此时间卷标的值精确至微秒级(μs,microsecond)的程度。此执行时间记录模块120可在该BIOS POST计算机程序40中的各个程序模块41、42、43、44启动执行的瞬间,记录下其启动时间点Tstart;再接着在各个程序模块41、42、43、44结束执行的瞬间,记录下其结束时间点Tend;最后再求出结束时间点Tend和启动时间点Tstart之间间隔时间的长度T=Tend-Tstart,即可得知各个程序模块41、42、43、44执行的时间长度。若这些程序模块41、42、43、44又分别进而由多个子程序构成,则执行时间记录模块120也可同样地记录各个子程序执行的时间长度。
分析报告产生模块130可在该BIOS POST计算机程序40执行完毕之后,依据上述执行时间记录模块120所记录的各个程序模块41、42、43、44执行的时间长度,产生一份电子分析报告202,例如是一文本格式(TXT)的计算机文件,其中列出该BIOS POST计算机程序40中所有程序模块41、42、43、44中每个程序模块执行的时间长度。在具体实施上,此分析报告202也可例如按执行时间长度的长短依序排列这些程序模块41、42、43、44。
本发明还提供一种计算机程序执行瓶颈分析处理方法,该方法至少包括:首先,在该计算机程序启动实际执行时,响应地发出一执行时间记录激活信息;随后,响应该执行时间记录激活信息,记录该计算机程序中的各个程序模块的执行时间长度;最后,在该计算机程序执行完毕后,依据所记录的各个程序模块的执行时间长度,产生一份电子式的分析报告,其中列出该计算机程序中所有程序模块及每个程序模块执行的时间长度。
以下利用一实例逐步说明本发明的计算机程序执行瓶颈分析处理系统100在实际应用时的操作方式。在此应用实例中,假设计算机程序40是一BIOS POST的计算机程序,例如包括4个程序模块41、42、43、44,且分别表示为POST_MOD1、POST_MOD2、POST_MOD3和POST_MOD4;且此4个程序模块POST_MOD1、POST_MOD2、POST_MOD3和POST_MOD4可例如代表BIOS POST检查点(CheckPoint)、SMI处理程序、IRQ0至IRQ15硬件中断服务程序(HW ISR,Hardware Interrupt Service Routine)以及其它类型的硬件中断服务程序(HW ISR)不同形式的时间卷标(timestamp)记录。
请同时参阅图1和图2,在计算机平台10的实际应用上,若使用者不满意该计算机平台10的BIOS POST计算机程序40执行的时间长度(即觉得过长),使用者即可启用本发明的计算机程序执行瓶颈分析处理系统100,对该BIOS POST计算机程序40进行一执行瓶颈分析处理程序,例如通过BIOS开机主控单元30在开机时所显示的使用者设定接口,将本发明的计算机程序执行瓶颈分析处理系统100设定为激活状态。此后,当计算机平台10开始执行BIOS POST计算机程序40时(也就是发生一BIOS POST计算机程序启动事件201时),即可令本发明的计算机程序执行瓶颈分析处理系统100中的计算机程序启动响应模块110,响应地向执行时间记录模块120发出一执行时间记录激活信息,执行时间记录模块120响应地被启动,利用时间卷标记录功能依序记录该BIOS POST计算机程序40中的各个程序模块POST_MOD1、POST_MOD2、POST_MOD3和POST_MOD4执行的时间长度T1、T2、T3、T4并将时间卷标记录功能记录的时间值暂存在一非挥发性存储器(Non-Volatile Random Access Memory,NVRAM)50中,例如是一闪存(Flash ROM);最后在该BIOS POST计算机程序40执行完毕后,再接着启动分析报告产生模块130,依据该执行时间记录模块120所记录的各个程序模块POST_MOD1、POST_MOD2、POST_MOD3和POST_MOD4的执行时间长度T1、T2、T3、T4,产生一份电子分析报告202,其中详细列出各个POST_MOD1、POST_MOD2、POST_MOD3和POST_MOD4每个模块执行的时间长度T1、T2、T3、T4。
程序开发人员即可借由此分析报告202了解该BIOS POST计算机程序40中哪一个程序模块,即POST_MOD1、POST_MOD2、POST_MOD3或POST_MOD4,所花费的执行时间最长。假设POST_MOD3花费的执行时间最长,则程序开发人员即可针对此程序模块POST_MOD3重新评估及改写其程序,使得此程序模块POST_MOD3的执行流程可更为优化后缩短其实际执行时间长度。
总而言之,本发明提供了一种计算机程序执行瓶颈分析处理方法及系统,对计算机平台执行的计算机程序,例如BIOS POST计算机程序,提供一执行瓶颈分析处理功能;本发明记录BIOS POST计算机程序中的各个程序模块在实际执行时执行的时间长度,并据此产生一电子分析报告显示各个程序模块执行时间长度的数据,程序开发人员可从此分析报告中得知执行时间最长的程序模块(即执行瓶颈),并据此对该执行瓶颈的程序模块进行优化的修改作业,缩短该程序模块的执行时间长度。本发明可协助程序开发人员开发出执行时间更短的BIOSPOST计算机程序,使搭载该BIOS POST计算机程序的计算机平台具有更高的市场竞争力。
Claims (12)
1.一种计算机程序执行瓶颈分析处理方法,应用在一计算机平台,且该计算机平台可执行一特定的计算机程序,该计算机程序是由多个程序模块构成,对该计算机程序提供一执行瓶颈分析处理功能;其特征在于,该计算机程序执行瓶颈分析处理方法至少包括:
在该计算机程序启动实际执行时,响应地发出一执行时间记录激活信息;
响应该执行时间记录激活信息,记录该计算机程序中的各个程序模块的执行时间长度;以及
在该计算机程序执行完毕后,依据所记录的各个程序模块的执行时间长度,产生一份电子式的分析报告,其中列出该计算机程序中所有程序模块及每个程序模块执行的时间长度。
2.如权利要求1所述的计算机程序执行瓶颈分析处理方法,其特征在于,该计算机平台为一网络服务器。
3.如权利要求1所述的计算机程序执行瓶颈分析处理方法,其特征在于,该计算机平台为一桌上型个人计算机。
4.如权利要求1所述的计算机程序执行瓶颈分析处理方法,其特征在于,该计算机平台为一笔记本型计算机。
5.如权利要求1所述的计算机程序执行瓶颈分析处理方法,其特征在于,该计算机程序为一BIOS POST的计算机程序。
6.一种计算机程序执行瓶颈分析处理系统,可搭载至一计算机平台,且该计算机平台可执行一特定的计算机程序,该计算机程序是由多个程序模块构成,对该计算机程序提供一执行瓶颈分析处理功能;其特征在于,该计算机程序执行瓶颈分析处理系统至少包括:
一计算机程序启动响应模块,可在该计算机程序启动实际执行时,响应地发出一执行时间记录激活信息;
一执行时间记录模块,可响应该计算机程序启动响应模块发出的执行时间记录激活信息,记录该计算机程序中的各个程序模块执行的时间长度;以及
一分析报告产生模块,可在该计算机程序执行完毕后,依据该执行时间记录模块所记录的各个程序模块的执行时间长度,产生一份电子分析报告,其中列出该计算机程序中所有的程序模块及每个程序模块执行的时间长度。
7.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该计算机平台为一网络服务器。
8.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该计算机平台为一桌上型个人计算机。
9.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该计算机平台为一笔记本型计算机。
10.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该计算机程序为一BIOS POST的计算机程序。
11.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该执行时间记录模块采用一标准的ACPI时间卷标记录功能。
12.如权利要求6所述的计算机程序执行瓶颈分析处理系统,其特征在于,该执行时间记录模块所记录的时间卷标值是暂存在一非挥发性存储器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610001169 CN101000575A (zh) | 2006-01-13 | 2006-01-13 | 计算机程序执行瓶颈分析处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610001169 CN101000575A (zh) | 2006-01-13 | 2006-01-13 | 计算机程序执行瓶颈分析处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101000575A true CN101000575A (zh) | 2007-07-18 |
Family
ID=38692555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610001169 Pending CN101000575A (zh) | 2006-01-13 | 2006-01-13 | 计算机程序执行瓶颈分析处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101000575A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033799B (zh) * | 2009-09-29 | 2013-02-13 | 英业达股份有限公司 | 中断接脚的异常状态侦测方法 |
WO2014166307A1 (en) * | 2013-04-11 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method for determining performance of process of application and computer system |
CN109491826A (zh) * | 2018-11-27 | 2019-03-19 | 英业达科技有限公司 | 远程硬件诊断系统与诊断方法 |
CN113127314A (zh) * | 2019-12-31 | 2021-07-16 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
-
2006
- 2006-01-13 CN CN 200610001169 patent/CN101000575A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033799B (zh) * | 2009-09-29 | 2013-02-13 | 英业达股份有限公司 | 中断接脚的异常状态侦测方法 |
WO2014166307A1 (en) * | 2013-04-11 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method for determining performance of process of application and computer system |
CN109491826A (zh) * | 2018-11-27 | 2019-03-19 | 英业达科技有限公司 | 远程硬件诊断系统与诊断方法 |
CN109491826B (zh) * | 2018-11-27 | 2021-02-12 | 英业达科技有限公司 | 远程硬件诊断系统与诊断方法 |
CN113127314A (zh) * | 2019-12-31 | 2021-07-16 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
CN113127314B (zh) * | 2019-12-31 | 2023-10-31 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727436B2 (en) | Adding a profiling agent to a virtual machine to permit performance and memory consumption analysis within unit tests | |
CN100338581C (zh) | 用于确定cpu利用率的独立于操作系统的方法和系统 | |
US5392420A (en) | In circuit emulator(ICE) that flags events occuring in system management mode(SMM) | |
US20110179260A1 (en) | Method for integrating operating system into bios chip and method for booting operating system from server | |
CN104254840A (zh) | 在计算机系统中的存储器转储和分析 | |
US20050268081A1 (en) | Booting system and/or method for initializing peripherals | |
US8370618B1 (en) | Multiple platform support in computer system firmware | |
CN101000575A (zh) | 计算机程序执行瓶颈分析处理方法及系统 | |
Torres-Sánchez et al. | Developing an AI IoT application with open software on a RISC-V SoC | |
US5708816A (en) | Method and apparatus for interrupt management for low power PDA | |
US20040225874A1 (en) | Method for reduced BIOS boot time | |
US7856622B2 (en) | Computer program runtime bottleneck diagnostic method and system | |
US7577557B2 (en) | Simulator and simulation method for behaviors of processors | |
JP2017503294A (ja) | アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法 | |
CN101923503B (zh) | 调整内存内部参数的方法及使用其的电脑系统 | |
JP6286067B2 (ja) | アウトオブオーダープロセッサでの長いロードサイクルに依存するロードリプレイを除外するメカニズム | |
US20070016761A1 (en) | Method, apparatus, and computer program product for implementing enhanced system behavior control | |
CN102446107A (zh) | 电脑系统的开机方法 | |
CN103677875A (zh) | 一种电子设备启动的方法、权限控制方法和电子设备 | |
JP2017503295A (ja) | アウトオブオーダープロセッサでのロードリプレイを低減する節電メカニズム | |
CN101201872A (zh) | 为硬件描述语言仿真器创建波形轨迹生成的方法和系统 | |
Wallace et al. | Comparison of vendor supplied environmental data collection mechanisms | |
US11847017B2 (en) | Method for determining a reset cause of an embedded controller for a vehicle and an embedded controller for a vehicle to which the method is applied | |
CN102446110A (zh) | 用于在引导时间获取数据的系统、方法 | |
US11880231B2 (en) | Accurate timestamp or derived counter value generation on a complex CPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |