如何在DXL(IBM DOORS)中计算脚本执行时间?
在IBM DOORS的DXL脚本中统计执行耗时(以秒为单位)
要对比不同DXL实现的时间成本,你可以利用DXL内置的clock()函数来统计脚本执行耗时,以下是针对你提供的示例脚本的具体修改方案:
修改后的完整脚本
Folder f = current Folder; void ScanFolder(Folder f) { Item itm; for itm in f do { if (type(itm) == "Folder") { print "FOLDER: " fullName(itm) "\n"; ScanFolder(folder(itm)); } else if (type(itm) == "Formal") { print "MODULE: " fullName(itm) "\n"; } else { ; } } } // 新增计时逻辑 int startTime = clock() ScanFolder(f) int endTime = clock() double elapsedSeconds = (endTime - startTime) / 1000.0 print "脚本执行耗时: " elapsedSeconds " 秒\n"
原理说明
clock()函数返回从IBM DOORS启动到当前时刻的毫秒数,通过计算开始和结束时刻的差值,就能得到目标代码的执行总时长。- 将计时代码包裹在你要测试的核心逻辑(这里是
ScanFolder(f))前后,确保只统计目标功能的执行时间,排除其他无关初始化代码的干扰。 - 如果要对比多种实现思路,只需替换核心逻辑部分,保持计时代码不变,就能得到公平的耗时对比数据。
内容的提问来源于stack exchange,提问作者F A Fernández
相关产品推荐
相关产品推荐

