实验要求¶
Envoronments¶
-
解压缩后,确保有正确的运行环境:
-
修改Makefile文件里的gcc编译选项
CFLAGS = -Wall -g -O2 -m32为CFLAGS = -Wall -O3 -g -DDRIVER -std=gnu99 -Wno-unused-function -Wno-unused-parameter很多情况下,你的代码需要 debug。 -
make -
执行
./mdriver -f short1-bal.rep看是否有结果输出, 例如:Perf index = 30 (util) + 40 (thru) = 70/100【第一项util是空间利用率,第二项thru是吞吐量】 -
本地自测过程【提供两种性能分析工具
valgrind和gprof,会有优化提示】 -
./mdriver的参数在pdf里有详细说明 -
valgrind ./mdriver -f short1-bal.rep -
使用
gprof工具如下:- 需要修改
Makefile里gcc选项,改-g为-pg【体验过之后,可以改回来】 - 运行
./mdriver -f short1-bal.rep会在目录下生成一个gmon.out文件 - 运行
gprof ./mdriver查看结果
- 需要修改
-
测试方法
./mdriver -v -t ./traces
同学们需要根据课程上讲过的内容实现: mm_init, mm_malloc, mm_free, mm_realloc 函数,并且通过上面的测试,最后的 perf 分数越高,实验的得分也会越高。good luck :)
submit¶
-
源码:只需提交你修改的
mm.c文件(需重新命名为:学号+mm.c)到github的lab5/malloc-handout文件夹下。 -
报告:提交到邮箱
csapp2022ecnu@163.com -
截至时间:2022-12-31 23:59【本次实验不需要pair,TA会详细看报告的good luck:)】