我正在开发一个项目,该项目将为 Windows 和 Linux、32 位和 64 位构建。该项目基于为文本文件加载字符串,对其进行处理并将结果写入 SQLite3 数据库。
在 linux 上,它达到了每秒近 400k 的序列,由 GCC 编译而没有任何优化。但是在 Windows 上,它停留在每秒 100k 个序列,在 VS2010 上编译而没有任何优化。
我尝试在编译器中使用优化,但没有任何改变。
这是正确的吗?Windows 上的 C 代码运行速度较慢?
编辑:
我认为我需要在某些方面更加清楚。我在启用和禁用代码优化的情况下进行了测试。性能没有改变,可能是因为我的程序的瓶颈是浪费时间从 HD 读取数据。
该程序利用并行计算的优势。有一个队列,一个线程将处理过的数据排队,另一个出队写入 SQLite 数据库。这样我不认为有任何性能损失。