专家好,我在6678多核程序中,如果不加打印时间,程序运行一个循环需要3.8ms,加一个printf打印语句,程序运行一个循环差不多50ms,
于是我将printf换成System_printf函数,程序运行一个循环需要30ms,不是说BIOS中sysem_printf函数打印很省时间吗,怎么我的还是那么长时间
单独测试system_printf和system_flush两个函数指令周期为5200,如果核时钟1G,才5.2us,相差为啥这么大,求分析
注:以上时间都是示波器测定的
Allen35065:
循环里加上函数调用后,软件流水会被打断,效率可能会降低;
你如果关注效率,就不要再循环里调用打印,可以把一些数据拷贝到其它的buffer里,循环运行完再打印。