c# - 在 C# 中用常量乘/加大量数字的高性能方法是什么?

标签 c# arrays

我有一个结构(类),它在数组中保存大量数字( float 、 double 、整数、字节)。

现在我想用非常高性能的方法在这个数组上应用一些原始操作(加/减/除/乘以常数)。

这个数组在一 block 连续的内存上,所以我使用 Buffer.BlockCopy 来复制它。

但是加一个常数或乘以一个常数呢?

第一个选择是使用指针遍历数组。为此,您还建议采用哪些其他方法?

最佳答案

使用指针(不安全)不一定能提高性能。

你为什么不从一个普通的for(int index = 0; index < data.Lenght; index++)开始呢?循环看看是否满足你的要求。


当然,下一步是并行处理:

 Parallel.For(0, data.Length, i => data[i] *= myFactor);

关于c# - 在 C# 中用常量乘/加大量数字的高性能方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734870/

相关文章:

c# - 如何解决应用了 Authorize 属性的 MVC Controller 的鸡生蛋依赖关系解析?

c# - Selenium Webdriver 与 Shadow DOM

c# - 程序在哪里保存他们的 secret 许可证?

c# - 目标确实存在时出现 StyleCop CA0055 问题

javascript - 迭代 DataTables Json 数据时的数组索引

javascript - JS/JQuery : Can't access array elements in json

java - 如何检查一个数组中的多个重复项? [准备Java]

c# - StringReader 省略尾随换行符

java - 什么更快 : to create a new array or iterate through existing?

arrays - 如何在 Node.js 应用程序中保存 MongoDB 中的对象数组