zoukankan      html  css  js  c++  java
  • 数组复制性能测试

     1 using System;
     2 using System.Collections;
     3 using System.Collections.Generic;
     4 using System.Data;
     5 using System.Diagnostics;
     6 using System.IO;
     7 using System.Linq;
     8 using System.Runtime.InteropServices;
     9 using System.Threading;
    10 using EmisData;
    11 using Newtonsoft.Json;
    12 
    13 namespace CLibrary.ConsoleApp
    14 {
    15     class Program
    16     {
    17         static void Main(string[] args)
    18         {
    19             int len = 50000000;
    20             int[] newArray = new int[len];
    21             Stopwatch sw = new Stopwatch();
    22             int[] allArray = new int[len];
    23             for (int i = 0; i < len; i++)
    24             {
    25                 allArray[i] = i;
    26             }
    27 
    28             sw.Start();
    29             Thread.Sleep(1000);
    30             Array.Copy(allArray, newArray, len);
    31             sw.Stop();
    32             Console.WriteLine("Array.Copy 执行时间(毫秒)"+ sw.ElapsedMilliseconds);
    33 
    34             Array.Clear(newArray, 0, len);
    35             sw.Restart();
    36             Thread.Sleep(1000);
    37             newArray = (int[])allArray.Clone();
    38             sw.Stop();
    39             Console.WriteLine("Array.Clone 执行时间(毫秒)" + sw.ElapsedMilliseconds);
    40 
    41             Array.Clear(newArray, 0, len);
    42             sw.Restart();
    43             Thread.Sleep(1000);
    44             Buffer.BlockCopy(allArray, 0, newArray, 0, len);
    45             sw.Stop();
    46             Console.WriteLine("Buffer.BlockCopy 执行时间(毫秒)" + sw.ElapsedMilliseconds);
    47 
    48             Console.ReadKey();
    49         }
    50 
    51        
    52 
    53     }
    54 
    55 }

    测试结果:

     可见:Buffer.BlockCopy 表现最佳

  • 相关阅读:
    数据结构 链表笔记
    C语言 字符串操作 笔记
    数据结构 排序算法 笔记
    链表详解
    mysql常用命令
    图片压缩工具之grunt-contrib-imagemin
    正则表达式
    阿里云部署nodejs服务器(windows)
    canvas简介
    js面向对象
  • 原文地址:https://www.cnblogs.com/yy1234/p/7339732.html
Copyright © 2011-2022 走看看