草庐IT

速度环

全部标签

c++ - 使用 g++ 5.3.1 编译的程序运行速度比使用 g++ 4.8.4 编译的相同程序慢 3 倍,相同的命令

最近,我开始使用Ubuntu16.04和g++5.3.1并检查我的程序运行速度慢了3倍。在此之前,我使用过Ubuntu14.04、g++4.8.4。我使用相同的命令构建它:CFLAGS=-std=c++11-Wall-O3.我的程序包含循环,充满了数学调用(sin、cos、exp)。你可以找到它here.我尝试使用不同的优化标志(O0、O1、O2、O3、Ofast)进行编译,但在所有情况下都会重现问题(Ofast两种变体运行速度更快,但第一个变体运行速度仍然慢3倍).在我的程序中,我使用libtinyxml-dev、libgslcblas。但是它们在两种情况下都有相同的版本,并且在性能

c++ - 跟踪 gcc 编译以及哪些代码减慢了它的速度

我想找出导致gcc编译时间变慢的代码。我以前有一个代码编译得很慢,有人告诉我命令行开关让gcc打印它编译的每个步骤,包括每个函数/变量/符号等。这很有帮助(我可以在控制台中看到gcc阻塞的地方),但我忘记了开关是什么。 最佳答案 我找到了它(来自gccmanpage):-QMakesthecompilerprintouteachfunctionnameasitiscompiled,andprintsomestatisticsabouteachpasswhenitfinishes. 关于c

c++ - 跟踪 gcc 编译以及哪些代码减慢了它的速度

我想找出导致gcc编译时间变慢的代码。我以前有一个代码编译得很慢,有人告诉我命令行开关让gcc打印它编译的每个步骤,包括每个函数/变量/符号等。这很有帮助(我可以在控制台中看到gcc阻塞的地方),但我忘记了开关是什么。 最佳答案 我找到了它(来自gccmanpage):-QMakesthecompilerprintouteachfunctionnameasitiscompiled,andprintsomestatisticsabouteachpasswhenitfinishes. 关于c

C++ 构造函数与初始化列表速度比较

构造函数和初始化列表之间的执行时间有什么不同吗?(或者这只是编码偏好的问题)。我有一组需要经常创建的对象,想知道使用初始化列表而不是构造函数是否有任何性能提升。如果我要创建一百万个A类实例和另外一百万个B类实例,哪个选择会更好(对象代表网络内生成的数据包,因此这些数字)。classA{private:inta,b;public:A(inta_var,intb_var):a(a_var),b(b_var){};};classB{private:inta,b;public:B(inta_var,intb_var){a=a_var;b=b_var;}};如果任何构造函数对于原始类型来说比另一

C++ 构造函数与初始化列表速度比较

构造函数和初始化列表之间的执行时间有什么不同吗?(或者这只是编码偏好的问题)。我有一组需要经常创建的对象,想知道使用初始化列表而不是构造函数是否有任何性能提升。如果我要创建一百万个A类实例和另外一百万个B类实例,哪个选择会更好(对象代表网络内生成的数据包,因此这些数字)。classA{private:inta,b;public:A(inta_var,intb_var):a(a_var),b(b_var){};};classB{private:inta,b;public:B(inta_var,intb_var){a=a_var;b=b_var;}};如果任何构造函数对于原始类型来说比另一

c++ - Visual Studio 应用程序在调试时运行速度极慢

我有一个原生C++程序,当使用Debug(F5)启动时,它的运行速度慢了20倍以上,但在使用startwithoutdebug(Ctrl+F5).我使用的是调试版本还是发布版本都没有关系。另外,如果我使用WinDbg,程序会慢很多。是不是我选错了一些设置? 最佳答案 将_NO_DEBUG_HEAP环境变量设置为1(如http://preshing.com/20110717/the-windows-heap-is-slow-when-launched-from-the-debugger所示)。这也可以在VisualStudio中完成。

c++ - Visual Studio 应用程序在调试时运行速度极慢

我有一个原生C++程序,当使用Debug(F5)启动时,它的运行速度慢了20倍以上,但在使用startwithoutdebug(Ctrl+F5).我使用的是调试版本还是发布版本都没有关系。另外,如果我使用WinDbg,程序会慢很多。是不是我选错了一些设置? 最佳答案 将_NO_DEBUG_HEAP环境变量设置为1(如http://preshing.com/20110717/the-windows-heap-is-slow-when-launched-from-the-debugger所示)。这也可以在VisualStudio中完成。

使用 Arduino 和电位器控制直流电机速度

使用Arduino和电位器控制直流电机速度查看原文使用Arduino和电位器的直流电机速度控制直流电机是机器人和电子项目中使用最多的电机。对于控制直流电机的速度,我们有多种方法,例如可以根据温度自动控制速度,但在本项目中将使用PWM方法来控制直流电机的速度。在这个Arduino电机速度控制项目中,可以通过旋转电位器的旋钮来控制速度。脉冲宽度调制:什么是脉宽调制?PWM是一种可以控制电压或功率的技术。如果您使用5V来驱动电机,那么电机将以一定速度运动,现在如果我们将施加的电压降低2意味着我们将3伏施加到电机上,那么电机速度也会降低。该概念在项目中用于使用PWM控制电压。我们已经在本文中详细解释了

c++ - 可执行文件在 Wine 上的运行速度比 Windows 快——为什么?

解决方案:显然罪魁祸首是使用了floor(),其性能在glibc中被证明是依赖于操作系统的。这是上一个问题的后续问题:SameprogramfasteronLinuxthanWindows--why?我有一个小的C++程序,当用nuwengcc4.6.1编译时,在Wine上运行比WindowsXP快得多(在同一台计算机上)。问题:为什么会发生这种情况?Wine和Windows的时间分别为~15.8和25.9秒。请注意,我说的是同一个可执行文件,而不仅仅是同一个C++程序。源码在文末。编译后的可执行文件是here(如果你足够信任我的话)。这个特定的程序没有任何用处,它只是从我拥有的一个更

c++ - 可执行文件在 Wine 上的运行速度比 Windows 快——为什么?

解决方案:显然罪魁祸首是使用了floor(),其性能在glibc中被证明是依赖于操作系统的。这是上一个问题的后续问题:SameprogramfasteronLinuxthanWindows--why?我有一个小的C++程序,当用nuwengcc4.6.1编译时,在Wine上运行比WindowsXP快得多(在同一台计算机上)。问题:为什么会发生这种情况?Wine和Windows的时间分别为~15.8和25.9秒。请注意,我说的是同一个可执行文件,而不仅仅是同一个C++程序。源码在文末。编译后的可执行文件是here(如果你足够信任我的话)。这个特定的程序没有任何用处,它只是从我拥有的一个更