Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(String[] args) {
- const int size = 32;
- var runcount = Math.Pow(10, 6);
- var arrb = new Boolean[size];
- var arrb2 = new Boolean[size];
- var links = new List<Int32>();
- for (int i = 0; i < arrb.Length; i += 2)
- links.Add(i);
- var t = new Stopwatch();
- t.Start();
- for (int i = 0; i < runcount; ++i)
- proc1(arrb, links);
- t.Stop();
- Console.WriteLine("time1 {0} ns", t.ElapsedMilliseconds / runcount * 1000);
- t = new Stopwatch();
- t.Start();
- for (int i = 0; i < runcount; ++i)
- proc2(arrb2, links);
- t.Stop();
- Console.WriteLine("time2 {0} ns", t.ElapsedMilliseconds / runcount * 1000);
- Console.WriteLine("results equals = {0}", arrb2.SequenceEqual(arrb));
- Console.ReadKey();
- }
- public static void proc1(Boolean[] arrb, List<Int32> links) {
- var j = 0;
- for (var i = 0; i < arrb.Length; ++i)
- if (links.Count > j && links[j] == i) {
- arrb[i] = true;
- j++;
- } else arrb[i] = false;
- }
- public static void proc2(Boolean[] arrb, List<Int32> links) {
- for (int i = 0; i < arrb.Length; ++i)
- arrb[i] = false;
- foreach (var l in links)
- arrb[l] = true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement