DSP

计算DSP程序运行时间

2019-07-13 10:33发布

测试方法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);