我去年还是前年做过c++,c#,python numba 的一个纯计算的性能测试。
适当优化后,C#能达到C++的性能,numba甚至比我手写的c++还快。
如果不用C#提供的其他东西,单纯计算,速度跟C++基本一样。 不过C++ 模板编程的抽象开销非常少,而C#抽象开销就比较明显。使用的C#特有机制越多,性能损耗越多。层层包装,到了最外面的调用接口,性能就差很多了。
因为numba会自动进行simd优化,调用svml,而C++编译器的simd优化效果一般,C#就只能自己手写。
所以,在快速写出高性能代码方面,numba还是有一定优势的。
【 在 KnightZorro 的大作中提到: 】
: 没别的意思, 最近对microbenchmark着迷, 要不你提供个最简单的可以区分两者性能的例子,然后放出代码看看
--
FROM 223.72.44.*