通常,我很想知道标准模板库是否会在数值/科学计算的代码中产生性能/速度开销.
例如.将数组声明为
double 2dmatrix [10][10]
Run Code Online (Sandbox Code Playgroud)
会给我更多的表现
std::vector<std::vector<double> > 2dmatrix(10,std::vector<double>(10,0.0))
Run Code Online (Sandbox Code Playgroud)
?
我还要感谢一些一般性的想法,关于C在科学计算方面是否具有比C++更好的性能.我使用STL以非常面向对象的方式编写了我的代码,并且使用了C++ 11.我开始考虑是否应该开始研究纯C,如果它运行得更快.
对此有任何想法都是受欢迎的.
我有一个 C++ 标头,它返回一个包含 3 个元素的结构。如何让python正确接受结构变量?
这是我在 C++ 函数中所拥有的:
// Function name myfunc
struct velocity
{
std::vector< std::vector<double> > u;
std::vector< std::vector<double> > v;
std::vector< std::vector<double> > w;
};
velocity velo; //Creating object
velo.u = sum(umean,pu);
velo.v = sum(vmean,pv);
velo.w = sum(wmean,pw);
return(velo)
Run Code Online (Sandbox Code Playgroud)
这是我的 Python 实现,在使用 SWIG 之后
import numpy
from myfunc import * # importing C++ myfunc library
My = 100 # Matrix dimensions
Mz = 100
z = myfunc(My,Mz) # Supplying the matrix dimensions to the myfunc library
print(z) …Run Code Online (Sandbox Code Playgroud)