本文主要借助我在项目中编写的一个小软件,来对一窥C++实现和Python实现在“编码效率”、“运行效率”、“内存占用”等方面的差异。当然,这个对比只是针对这类项目,不具普遍性。
一、问题
将两个几M大小的文本格式txt文件(一个存储的是float型的I路数据,另一个存储的是float型的Q路数据)合成一个二进制格式的bin文件(波形文件)。以本次实验的“bt_wave_i.txt”和“bt_wave_q.txt”为例:
如上图所示,这是用notepad++打开的部分数据截图,灰色部分是行号。两个文件的数据行是相等的,大约有450,000行。
二、对比
1,性能对比
上图是使用Process Explorer捕获的C++程序和python程序运行高峰期的性能截图。左图是C++的,看的是Release版本,右图是python的。从两图对比来看,性能上差异不大。