### 评测脚本 性能测试脚本位于tests/5-bonus/test_time.py,在实现自己的汇编代码生成功能前,可以使用脚本的 `--clang`选项,用clang完成编译和汇编。 下面用yourcmminus指代你完成的汇编代码生成项目。 脚本会对yourcminus或clang生成的可执行文件的**输出结果**和**运行时间**进行测试,性能测试结果会写入同目录下test_result文件,脚本的`--console`选项用来控制是否同时将性能测试结果打印到控制台。 **注**:默认要求yourcminus在生成汇编代码时使用的指令是`cminusfc file.cminus -mem2reg -S a.s`,你也可以根据你自己的实现更改脚本中的标有`###可修改###`的部分。 下面是开启`-console`和`-clang`时的生成结果示例 : ```bash $ python3 test_time.py --console --clang [1/13] 1-return.cminus: pass, costs 0.001559s [2/13] 10-float.cminus: pass, costs 0.001864s [3/13] 11-floatcall.cminus: pass, costs 0.001632s [4/13] 12-global.cminus: pass, costs 0.001614s [5/13] 13-complex.cminus: pass, costs 0.001423s [6/13] 2-calculate.cminus: pass, costs 0.001770s [7/13] 3-output.cminus: pass, costs 0.001356s [8/13] 4-if.cminus: pass, costs 0.001618s [9/13] 5-while.cminus: pass, costs 0.001637s [10/13] 6-array.cminus: pass, costs 0.002292s [11/13] 7-function.cminus: pass, costs 0.001389s [12/13] 8-store.cminus: pass, costs 0.001849s [13/13] 9-fibonacci.cminus: pass, costs 0.002904s 0 tests failed total time is 0.022907666116952895s avg time is 0.0017621281628425304s 13 tests finishes in time limit testcase clang baseline 1-return.cminus 0.001559 0.000883 10-float.cminus 0.001864 0.001716 11-floatcall.cminus 0.001632 0.001657 12-global.cminus 0.001614 0.001491 13-complex.cminus 0.001423 0.001820 2-calculate.cminus 0.001770 0.001738 3-output.cminus 0.001356 0.001946 4-if.cminus 0.001618 0.001651 5-while.cminus 0.001637 0.002021 6-array.cminus 0.002292 0.002570 7-function.cminus 0.001389 0.001677 8-store.cminus 0.001849 0.001600 9-fibonacci.cminus 0.002904 0.004012 =============================================================== ``` ### 分数计算 + 功能测试(40%) 从 IR 到龙芯汇编翻译,生成龙芯汇编代码,执行结果与预期结果一致。 得分为 通过测试用例数 / 总测试用例数 * 40 + 性能测试(40%) 对于每个测试用例,将所有人的运行时间排序,得分为(总人数 - 排名 + 1) / 总人数 * 40,性能测试的分数将取所有测试用例的平均值。 + 工作总结汇报(20%) 以 ppt 形式汇报,介绍项目的设计思想、学生自由发挥部分等内容。