我有两个执行相同功能的功能,但以不同的方式实现。我想使用两者中高效的一个。
我可以在文件中编写Timestamp
进入函数之前和退出函数之后的内容。但我想知道是否有更好的方法来解决上述问题。
我看到了profilers
,VerySleepy, Visual Studios 2008 C++ Profiler
但是他们生成的信息是什么时候调用了哪个函数。(也许我在使用它们时出错了)。还想知道是否存在类似Valgrind
Linux 上的 Visual C++ 的东西。
我有两个执行相同功能的功能,但以不同的方式实现。我想使用两者中高效的一个。
我可以在文件中编写Timestamp
进入函数之前和退出函数之后的内容。但我想知道是否有更好的方法来解决上述问题。
我看到了profilers
,VerySleepy, Visual Studios 2008 C++ Profiler
但是他们生成的信息是什么时候调用了哪个函数。(也许我在使用它们时出错了)。还想知道是否存在类似Valgrind
Linux 上的 Visual C++ 的东西。
如果你真的只想比较这两者,那么就做这Timestamp
件事,但每个函数调用 100 万次,然后比较聚合时间。
start timer
for i = 1 to 1m, call function
stop timer
这种方法假定函数的执行时间不依赖于它被调用的次数,即第一次调用它所花费的时间与任何后续调用的时间一样长。
如果您需要更详细的分析信息,有很多选择。