fork download
  1. using System;
  2. using System.Diagnostics;
  3.  
  4. class Program {
  5. //const int dimsize = 10000;
  6. const int dimsize = 100;
  7. Random rnd = new Random();
  8. void Jag() {
  9. var sw = Stopwatch.StartNew();
  10. int [][] dm = new int[dimsize][];
  11. for (int i=0; i<dimsize; i++) dm[i] = new int[dimsize];
  12. for (int i=0; i<dimsize; i++) {
  13. for (int j=0; j<dimsize; j++) dm[i][j] = rnd.Next();
  14. }
  15. for (int j=0; j<dimsize; j++) {
  16. for (int i=0; i<dimsize; i++) dm[i][j] += rnd.Next();
  17. }
  18. int sum = 0;
  19. for (int i=0; i<dimsize; i++) {
  20. for (int j=0; j<dimsize; j++) sum += dm[i][j];
  21. }
  22. sw.Stop();
  23. Console.WriteLine("jagged : {0} : {1}", sw.Elapsed, sum);
  24. }
  25. void Squ() {
  26. var sw = Stopwatch.StartNew();
  27. var dm = new int[dimsize, dimsize];
  28. for (int i=0; i<dimsize; i++) {
  29. for (int j=0; j<dimsize; j++) dm[i,j] = rnd.Next();
  30. }
  31. for (int j=0; j<dimsize; j++) {
  32. for (int i=0; i<dimsize; i++) dm[i,j] += rnd.Next();
  33. }
  34. int sum = 0;
  35. for (int i=0; i<dimsize; i++) {
  36. for (int j=0; j<dimsize; j++) sum += dm[i, j];
  37. }
  38. sw.Stop();
  39. Console.WriteLine("square : {0} : {1}", sw.Elapsed, sum);
  40. }
  41. static void Main() {
  42. var p = new Program();
  43. p.Jag();
  44. p.Squ();
  45. p.Jag();
  46. p.Squ();
  47. }
  48. }
  49.  
Success #stdin #stdout 0.04s 34096KB
stdin
Standard input is empty
stdout
jagged : 00:00:00.0015175 : -586934788
square : 00:00:00.0008705 : 1649596065
jagged : 00:00:00.0008906 : 816731248
square : 00:00:00.0007834 : -1712916278