1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Usage: memxfer5b.exe [-f] [-w] [-s] [-p] size cnt [method] -f flag says to malloc and free of the "cnt" times. -w = set process min and max working set size to "size" -s = silent; only print averages -p = prep; "freshen" cache before; -w disables -csv = print output in CSV format methods: 0: "memcpy (default)" 1: "char *" 2: "short *" 3: "int *" 4: "long *" 5: "__int64 *" 6: "double *" |
gcc -O2 memxfer5b.cpp -o memxfer5b cl -O2 memxfer5b.cpp -o memxfer5b.exeMemxfer5b.cpp 使用我在 中描述的相同的支持例程。在支持例程的列表中再加入一个名为Malloc() 的例程。Malloc() 的作用和 malloc()一样,但当无法分配内存时,它将打印错误消息并退出。就我们的目的来说,这已经足够的。我们不测量内存分配速度;这个测试中任何分配内存的失败只是说明程序里有一个错误,或者我们已经达到系统限制。这两种情况我们都不希望发生。(我的介绍专栏中也提到过Malloc() 例程,但它不包含于任何源代码中。在这个部分中,也会提到 --请参阅 。)
Start/ Settings/ Control Panel/ Administrative Tools/ Computer Management/ System Tools/ System Information/ System SummaryLinux 显示 MHz 的命令是:
cat /proc/cpuinfo程序以每秒兆字节为单位打印作为结果的内存速度。如果指定 "-s"标记,那么运行 "cnt"计算内存复制速度。否则,每次运行都被打印。我们的测试按如下方式进行:
1 2 3 4 | memxfer5b -p -s -csv 16m 8 0 1 2 3 4 5 6 memxfer5b -p -s -csv 16m 8 0 1 2 3 4 5 6 memxfer5b -p -s -csv 16m 8 0 1 2 3 4 5 6 memxfer5b -p -s -csv 16m 8 0 1 2 3 4 5 6 |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |