Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ARRAY #####1##### 4050 ms
- void Main()
- {
- var a = new int[100000];
- for (int i = 0; i < a.Length; i++)
- {
- a[i] = (new Random()).Next(1, 100);
- }
- int repeats = a.Length - 1;
- var sw = Stopwatch.StartNew();
- do
- {
- a[repeats] = Sum(in a);
- }
- while (--repeats != 0);
- sw.Stop();
- Console.WriteLine(sw.ElapsedMilliseconds);
- }
- int Sum(in int[] arr)
- {
- int sum = 0;
- for (int i = 0; i < arr.Length; i++)
- {
- sum += arr[i];
- }
- return sum;
- }
- ARRAY #####2##### 6209 ms
- static void Main()
- {
- var a = new int[100000];
- for (int i = 0; i < a.Length; i++)
- {
- a[i] = (new Random()).Next(1, 100);
- }
- int repeats = a.Length - 1;
- var sw = Stopwatch.StartNew();
- do
- {
- a[repeats] = Sum(in a);
- }
- while (--repeats != 0);
- sw.Stop();
- Console.WriteLine(sw.ElapsedMilliseconds);
- }
- static int Sum(in int[] arr)
- {
- int sum = 0;
- for (int i = 0; i < arr.Length; i++)
- {
- sum += arr[i];
- }
- return sum;
- }
- ####POINTERS##### 3990
- static void Main()
- {
- unsafe
- {
- int length = 100000;
- int* s = stackalloc int[length];
- int* sp = &s[length - 1];
- for (int i = 0; i < length; i++)
- {
- s[i] = (new Random()).Next(1, 100);
- }
- int repeats = length - 1;
- var sw = Stopwatch.StartNew();
- do
- {
- *sp = Sum(&s[0], length);
- sp--;
- }
- while (--repeats != 0);
- sw.Stop();
- Console.WriteLine(sw.ElapsedMilliseconds);
- }
- }
- static unsafe int Sum(int* arr, int length)
- {
- int sum = 0;
- for (int i = 0; i < length; i++)
- {
- sum += *arr;
- arr++;
- }
- return sum;
- }
- #####SPAN##### 6300
- static void Main()
- {
- Span<int> s = stackalloc int[100000];
- for (int i = 0; i < s.Length; i++)
- {
- s[i] = (new Random()).Next(1, 100);
- }
- int repeats = s.Length - 1;
- var sw = Stopwatch.StartNew();
- do
- {
- s[repeats] = Sum(s);
- }
- while (--repeats != 0);
- sw.Stop();
- Console.WriteLine(sw.ElapsedMilliseconds);
- }
- static int Sum(Span<int> arr)
- {
- int sum = 0;
- for (int i = 0; i < arr.Length; i++)
- {
- sum += arr[i];
- }
- return sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement