gpt4 book ai didi

c++ - 与 linux 相比,cygwin 中的 c++ 程序运行时间长

转载 作者:行者123 更新时间:2023-11-28 00:59:16 27 4
gpt4 key购买 nike

我有一个 c++ 程序,它在 cygwin 中运行需要很长时间,而在 linux 机器上运行速度很快。我认为这可能是内存问题并尝试打印使用的内存,这是我看到的:

Linux

虚拟内存:5072 KB,常驻集大小 (RSS):1064 KB

赛格温

虚拟内存:7672 KB,常驻集大小 (RSS):108928 KB

任何人都可以帮助我了解造成这种差异的原因吗? cygwin 在具有 64 位 Windows 和 3 GB 内存的笔记本电脑上运行。有一些旧的“C”代码在程序中执行 malloc。将它们转换为标准 C++ 容器会有帮助吗?

最佳答案

Cygwin 在 Windows 上提供了一个 POSIX 兼容层。这肯定比针对 native 操作系统 CRT 构建的代码要慢。

如果您的代码是标准 C 或 C++,请使用 MSVC 或 MinGW/GCC 重新编译它,然后进行比较。

另一方面,mallocnew 不是问题。堆分配很昂贵。

可能重要的是 Windows 堆分配通常比 Linux 的实现更昂贵。这种差异的影响取决于您的代码。

关于c++ - 与 linux 相比,cygwin 中的 c++ 程序运行时间长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637731/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com