gpt4 book ai didi

windows - 相同的算法在 Windows 中运行非常慢,在 Ubuntu 中运行非常快

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:34 27 4
gpt4 key购买 nike

我在两台计算机上使用相同的算法。一个使用 Ubuntu,另一个使用 Windows。

  • 在 Ubuntu 中,该算法通过名为 ADTF 的框架获取输入图像。此处算法以 70fps 运行。一切都很完美。

  • 在 Windows 中,该算法在不使用任何框架(Visual Studio 2012 作为 IDE)的情况下从视频流中获取输入图像。此处算法以 2fps 运行。

当我检查计算时间时,我在我的算法中看到一个函数,它在 Windows 中需要 0.4 秒,在 Ubuntu 中需要 0.011 秒。并且这个函数在这个过程中被调用了'n'次。此函数在其参数中仅使用 cv::Mat 和一些 float 。我不认为数据类型 float 是造成这种大时间变化的原因。

我检查了文件中的每一行 C++ 代码。在这两种情况下完全相同。但仅仅计算时间就减少了30多倍。我不知道发生了什么。谁能帮帮我?

注意: 两台计算机的配置完全相同。 此外,在这两种情况下,函数都被调用了相同的“n”次

Intensity getIntensity (Grids &inputGrids, Mat inputImage)// groups of 2d grids
{
type allGridIntensity;
for()//takes single grid
{
type singleGridIntensity;
for()//takes single point
{
double intensity = inputImage.at<uchar>(yPose, xPose);
singleGridIntensity.push_back(intensity);
}
allGridIntensity.push_back(singleGridIntensity);
}
return allGridIntensity;
}

最佳答案

如果没有代码,很难提供帮助,但如果你在性能上有如此大的差距,我会检查你的编译器的优化设置。当您有 for 循环并且您的实现适合该编译器时,编译器将并行化您的代码,您将运行得更快。但这只是没有适当代码示例的猜测

关于windows - 相同的算法在 Windows 中运行非常慢,在 Ubuntu 中运行非常快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626797/

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