软件工程--四则运算表达式(8)

四则运算题目生成器

本章主要进行代码的性能测试,查看代码是否符合题目要求

性能测试部分

性能测试部分对每一个函数的运行时间和调用过程进行了时间上的记录,可以清楚的看到哪一个部分的时间开销大,进而推测是否符合性能需求的需要

性能测试工具

性能测试使用pycharm自带的性能分析器进行

测试结果

对main函数进行测试,测试每一个函数的详细运行时间和函数的调用图,测试的结果如下:

软件工程--四则运算表达式(8)

可以看到测试结果中TestPer函数最费时间,这是很容易理解的,因为TestPer是主函数,其次是Generate模块,而在generate中最费时间的是deepcopy部分,因为deepcopy要深拷贝一个完整的root序列下来,所以时间的开销比较大,其次就是randinit函数比较耗时,randinti中调用了随机数生成器,随机数生成是需要时间的,所以导致函数的整体时间开销偏高,下一步的改进可以用cython中的深拷贝模块替换掉使用的python deepcopy模块,可以进一步降低时间开销