Vitesse、PML程序性能对比测试报告
来源:互联网 发布:淘宝网药品 编辑:程序博客网 时间:2024/04/30 04:04
近期做了船体TribonVitesse程序迁徙到AM的测试,以组立图标注程序为例,经过简单修改,原来的程序可以在AM平台使用,但是发现速度慢了很多。于是让同事做了性能测试,对照Vitesse数据抽取部分,用AM二次开发语言PML重写。测试报告如下:
1.
本次测试目的为,通过对Python以及PML程序进行性能分析,考察Tribon二次开发程序迁移到AM的可行性,验证迁移后程序的使用性能,探讨AM二次开发适合采用哪种技术路线的问题。
2.
Tribon软件即将升级为AM,二次开发工作也面临很多新的考验,Tribon程序的迁移就是其中一个,Python和PML程序二者之间选择哪一个,在前期有必要对它们进行相应的测试和比较,以期对今后的工作起到一定的指导和帮助作用。
3.
硬件环境: Windows XP Professional 2002SP3,Windows 7旗舰版SP4。
软件环境:Tribon M3 SP5,AM12.1.SP4.17。
4.
整个测试过程的时间跨度为一周,状态为已完成。
5.
测试项:2
通过数:2
测试1:
将Tribon二次开发程序加载到AM船体模块运行,发现速度变慢,而且该程序中,数据提取占很大比重。
因此,分别用Python编写代码,GetPanelNames.py,用PML编写代码RunPythonScript.pmlobj和GetHPanelNames.pmlobj,二者实现同一功能,即单纯从AM数据库中提取BlockVF2215下的所有Panel名称,循环提取1000次。在AM中分别运行RunPythonScript.pmlobj和GetHPanelNames.pmlobj两个程序,得到运行所用的时间。
测试数据如下:
如图1所示,Python程序运行所用时间为6分33秒。
如图2所示,PML程序运行所用时间为22秒。
测试2:
将Tribon二次开发组立图标注程序分别在Tribon和AM中运行,利用Python性能剖分工具Profile得到程序运行时间的相关数据,并保存到文件ConfigNoteCreate.prof,再利用pstats查看该结果,包括程序运行的总时间及每一个函数的运行时间。
测试数据如下:
如图3所示,程序在Tribon中运行的总时间为37.794秒,其中数据提取函数ExtractData的运行时间为7.927秒,线形提取函数GetLinetypes的运行时间为5.345秒。
如图4所示,程序在AM中运行的总时间为50.806秒,其中数据提取函数ExtractData的运行时间为11.501(5.274+3.805+2.422)秒,线形提取函数GetLinetypes的运行时间为11.462秒。
6.
测试顺利通过,并得到以上测试数据,为了更明确地表达及比较数据,将测试2的数据制作成如下图表:
根据图表1和图表2所示,可以清晰的看到程序迁移前后性能数据的变化,由此初步得出以下结论:
l
l
l
经过多次测试表明,每次测试的时间会有差别,但总的来说,对于结论没有影响。
7.
根据上述测试结果,Python程序迁移到AM后,性能将会降低,建议用PML及C#重写程序。
GetPanelNames.py源代码:
importSdrBlock
defGetPanelsNames(block):
deftest():
if __name__ =='__main__':
RunPythonScript.pmlobj源代码如下:
import'marAPI'
handleany
endhandle
define objectRunPythonScript
endobject
define method.RunPythonScript()
endmethod
GetHPanelNames.pmlobj源代码:
define objectGetHPanelNames
endobject
define method.GetHPanelNames()
endmethod
- Vitesse、PML程序性能对比测试报告
- Chrome浏览器性能对比测试报告
- Chrome 浏览器性能对比测试报告
- ASP程序性能测试报告
- ASP程序性能测试报告
- Hive 集算器 Impala性能对比测试报告(上)
- 网易视频云:HBase BlockCache系列-性能对比测试报告
- 3大主流NoSQL数据库性能对比测试报告
- 性能测试报告
- Tribon Vitesse程序的乱码错误信息
- 注意Vitesse程序中的网络路径
- Tribon Vitesse程序中的run()函数
- 图解Tribon Vitesse程序调试
- Tribon Vitesse程序路径查找顺序
- 如何记录Tribon Vitesse程序…
- 《Ruby/YARV/Python跨平台性能对比测试报告》(附单词频率统计实例)
- 网易视频云技术分享:HBase BlockCache系列 - 性能对比测试报告
- 中国银行性能测试报告
- Tirobn不同版本的exe文件造成的程…
- Tribon COM在x64位机器上出错…
- Vitesse2Dll程序下载
- Vitesse2DLL文档
- Vitesse2Dll服务协议
- Vitesse、PML程序性能对比测试报告
- 计算机组成原理(大纲)
- 推荐系统中基于深度学习的混合协同过滤模型
- 17 - 04 - 31 Web安全(27)
- 解决docker不能绑定静态的外网固定ip的问题
- Oren Etzioni的机票价格预测算法
- mongodb wiredTiger
- JSP中4中属性的保存范围
- Qt QString 与char* 相互转换