小编mal*_*kam的帖子

并行.不使用所有核心

我正在使用Math.Net Numerics平行内部进行繁重的数学计算Parallel.For块.

当我在本地系统中运行4核(2*2)的代码时,它使用全部4个核心.

但是,当我在具有8个内核(4*2)的开发服务器中运行相同的代码时,它只使用4个内核.

我试过设置MaxDegreeOfParallism,但无法帮助.

知道为什么没有使用所有核心.

以下是示例代码.

Parallel.For(0,10000,(i)=>
{

 // heavy math computations using matrices
});
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library mathnet-numerics parallel.for math.net

9
推荐指数
1
解决办法
2729
查看次数

哪个性能更好

使用LINQ,以下哪项性能更好?

sets.FirstOrDefault(x=>x.name=="xxx")
Run Code Online (Sandbox Code Playgroud)

要么

sets.FirstOrDefault(x=>!string.IsNullOrEmpty(x.name) && x.name.Equals("xxx",StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)

这里的名字可以null.我在我的应用程序中使用此类查询20次以上.

有没有更好的方法?

.net c# linq performance

2
推荐指数
1
解决办法
104
查看次数

求 Math Net 矩阵的协方差

我正在使用 MathNet Numerics 矩阵并试图找出矩阵的协方差。

我们如何找到矩阵的协方差?

我们有方法在 Statistics 命名空间下找到两个 IEnumerable 之间的协方差。

http://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Statistics.htm

但我不知道如何使用它来查找矩阵。

例如:在 matlab/octave

在此处输入图片说明

在 C# 中也是如此。我们如何实施?

c# statistics covariance mathnet-numerics math.net

1
推荐指数
1
解决办法
2924
查看次数