我正在将 C++ 代码从 Linux 移植到 Windows。在此过程中,我发现下面这行代码在 Windows 下的速度比 Linux 慢了约 10 倍(在完全相同的硬件上):
在Windows上,需要大约10毫秒的时间,而在Linux上只需要约1毫秒。请注意,这是平均时间。在Windows上运行此行100次需要约1秒钟。
这种情况发生在win32和x64上,两个版本都是在Release中编译的,并且通过QueryPerformanceCounter(Windows)和gettimeofday(Linux)测量速度。
Linux编译器是gcc。Windows编译器是VS2010。
有任何想法为什么会发生这种情况吗?
list<char*>* item = new list<char*>[160000];
在Windows上,需要大约10毫秒的时间,而在Linux上只需要约1毫秒。请注意,这是平均时间。在Windows上运行此行100次需要约1秒钟。
这种情况发生在win32和x64上,两个版本都是在Release中编译的,并且通过QueryPerformanceCounter(Windows)和gettimeofday(Linux)测量速度。
Linux编译器是gcc。Windows编译器是VS2010。
有任何想法为什么会发生这种情况吗?