测试方法1:
// 计数变量
long long StartTime = 0;
long long EndTime = 0;
// 初始化计数时钟(开始后就不能停止)
TSCH = 0;
TSCL = 0;
// 开始计数
StartTime = _itoll(TSCH, TSCL);
/*
被测试运行程序
*/
// 结束计数
EndTime = _itoll(TSCH, TSCL);
ConsoleWrite("Execution Time %2.10fus
", (EndTime - StartTime) / 1000.0);
测试方法2:
Benchmark_Result time;
unsigned long long speed;
unsigned int test_byte_count;
// 计数开始值
Benchmark_Begin();
/*
被测试运行程序
*/
// 计数结束值
Benchmark_End(&time);
// 传输速度计算:
// 时钟频率:1000MHz
// test_byte_count x 8 x 10^9
// --------------------------- = test_byte_count * 7629 / time.Cycle(Mbps)
// 1024 x 1024 x time.Cycle
//
speed = (unsigned long long)test_byte_count*7629/time.Cycle;
ConsoleWrite("
%6d bytes, %6lld cycles, %5lld Mbps , %5lld MB/S
" , test_byte_count, time.Cycle, speed, speed/8);