Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何分析指针别名的性能影响?_C++_Visual Studio 2012_Profiling_Visual Studio 2013 - Fatal编程技术网

C++ 如何分析指针别名的性能影响?

C++ 如何分析指针别名的性能影响?,c++,visual-studio-2012,profiling,visual-studio-2013,C++,Visual Studio 2012,Profiling,Visual Studio 2013,我的代码使用了大量重复的代数运算,这些运算适合于MATLAB/FORTRAN风格的向量运算 我一直在考虑切换到std::valarray甚至Blitz++来利用这一点。但是在进行切换之前,我如何才能定义C++和FORTRAN指针混叠之间的性能差距的主要贡献者之一影响我的代码性能的原因,即用限制和声明测试来声明所有的东西。 Visual Studio 2012/2013是否提供了一些实现这一目标的方法?可能是另一个IDE?C/C++语言没有得到优化,在做数学方面也不会表现得很好。对于这些操作,我只

我的代码使用了大量重复的代数运算,这些运算适合于MATLAB/FORTRAN风格的向量运算

我一直在考虑切换到std::valarray甚至Blitz++来利用这一点。但是在进行切换之前,我如何才能定义C++和FORTRAN指针混叠之间的性能差距的主要贡献者之一影响我的代码性能的原因,即用限制和声明测试来声明所有的东西。
Visual Studio 2012/2013是否提供了一些实现这一目标的方法?可能是另一个IDE?

C/C++语言没有得到优化,在做数学方面也不会表现得很好。对于这些操作,我只建议您尝试更改语言,或者,如果您真的想继续使用c/c++,请非常小心地编写。不同的语言被指定以尽可能最好的方式完成它们的任务,但这几乎从来不是同一件事

据我所知,没有办法更好地优化C/C++中已经存在的大多数函数,尤其是非标准包(boost),因为它们被认为是尽可能简单的。调试包中还重载了调试函数,因此速度较慢,但我也看到了一些具有安全检查的发行版函数,如“is object Allowen me”或“Subscribe out-range check”。如果这是关于原子函数的,比如别名、自动转数、其他指针类型或类似的东西,那么它们就再好不过了,而且它们尽可能地工作


你们也可以试着告诉编译器你们想要更高的压缩级别,若可能的话,这可能会加快速度,但正如我前面所说的,使用专门为数学设计的语言来做数学。最后,如果您可以使用fortran或其他语言创建asm对象,则可以将此文件链接到c/c++中的代码。

您的代码是否使用智能指针?也许可以对它们进行增强以检测这种情况?@lee或者我的大部分性能关键代码都是c-Array可能有用。通常会假设代码已经编写得非常仔细,只有编译器优化才能使其更快,而事实上,如果您只知道这些是什么,通过简单的更改,它实际上有巨大的改进空间。修复这些问题后,指针别名可能会有所不同。