开发数学库

Ale*_*dra 2 c# c++ math

我正在寻找为我正在进行的项目创建自定义数学库.该项目是用C#编写的,我有点担心C#是否足够快.该库将具有许多自定义数学公式和等式,以应用于非常大的数据集.模拟和矩阵运算也将完成(即蒙特卡罗模拟),因此必须快速.

一种想法是用C++创建数学库并在C#项目中引用这个.dll.我想知道这是否值得付出努力?

Tom*_*ing 6

一般的经验法则是" 在你需要之前不要进行优化 ",所以我倾向于用C#编写它并稍后优化代码.

但是,在这种情况下,优化可能需要重新实现另一种语言的所有内容,我会先做一些测试.使用C#和C++中预期的处理器密集型数学编写一个小应用程序,然后比较时间以查看C#是否可接受.


小智 5

如果你将在C#中使用它,那么你也可以把它放在C#中开始.使用托管代码购买的数量超过使用指针争吵保存的数量.如果您担心内存和缓存问题,那么只需使用类型数组而不是对象.它使您可以更好地控制内存的布局方式.

优化器和JIT编译器会以足够的速度为您购买,以弥补任何低效率.