csharp プリミティブ型の配列操作ではArray.CopyよりもBuffer.BlockCopyの方が速い

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp プリミティブ型の配列操作ではArray.CopyよりもBuffer.BlockCopyの方が速い相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace BufferSample
{
    class Program
    {
        static void Main(string[] args)
        {
            const int sizeOfInt = sizeof(int);

            var intArray = Enumerable.Range(1, (1024 * 256 * 256)).ToArray();
            var result1 = new int[intArray.Length];
            var result2 = new int[intArray.Length];

            var watch = Stopwatch.StartNew();
            Array.Copy(intArray, result1, intArray.Length);
            watch.Stop();

            Console.WriteLine(
                "Array.Copy={0}ms (length={1})", 
                watch.ElapsedMilliseconds, 
                intArray.Length);

            watch.Reset();
            watch.Start();

            Buffer.BlockCopy(
                intArray,
                (0 * sizeOfInt), 
                result2, 
                (0 * sizeOfInt), 
                (intArray.Length * sizeOfInt));
            
            watch.Stop();

            Console.WriteLine(
                "Buffer.BlockCopy={0}ms (length={1})", 
                watch.ElapsedMilliseconds, 
                intArray.Length);
        }
    }
}

以上是关于csharp プリミティブ型の配列操作ではArray.CopyよりもBuffer.BlockCopyの方が速い的主要内容,如果未能解决你的问题,请参考以下文章

csharp 动的にRigidbodyのアクティブを制御するだけ?$ $ $ $ $ $ $ $ $ $ $ $ //bitbucket.org/hoge_foo_bar_piyo/basic-uni

text vueディレクティブ

css WordPressネイティブcss

text テンプレート制御ディレクティブ

vbscript クリップボードに値を设定する。サンプルはアクティブブックのフルパスを设定

python 大熊猫の数据帧の値を他の配列を参照して条件付きで操作するスクリプトを考えてみました。この例では辞书的に「名字のリスト」を阵列として参照しながら,姓ー名の入ったデータ项目の荒いバリデーショ