Guest User

Untitled

a guest
Oct 19th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.56 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using Neo4j.Driver.V1;
  7.  
  8. namespace Test
  9. {
  10. class Program
  11. {
  12. private static readonly int[] RecordCounts = {100, 500, 1000, 5000, 10000, 50000};
  13.  
  14. private static readonly string BoltUrl = Environment.GetEnvironmentVariable("BOLT_URL") ?? "bolt://127.0.0.1:7687";
  15. private static readonly string BoltUsername = Environment.GetEnvironmentVariable("BOLT_USERNAME") ?? "neo4j";
  16. private static readonly string BoltPassword = Environment.GetEnvironmentVariable("BOLT_PASSWORD") ?? "neo4j";
  17.  
  18. private const string BoltQuery = @"UNWIND RANGE(1,{0}) AS N RETURN N, null, true, false, -2147483650, -32770, -130, -18, 126, 32765, 2147483645, 2147483650, 1.1, -1.1, """", ""1"", ""1234567890"",
  19. ""ppkXUYYqy9ENl9caIvQyRsO19jXy4LhZHHVZMyUBQjbHJXlkv2vvUfeowOOujxTxJxXufzzGLFjn35w4zFpR4pRnlM3a1AkwV0L6jCj0pWic7bPBwiiasjJTieiynvE9CIHBwdyfGAUW4YMrGR5mBZwkMWIZlDQ9
  20. hmLD3ohSlzoYp8ilj4pDreho83L5eSobYOGOKMn3ytLIKawzjO21eCIVAAXT5DmESMfoTixDLQbi9HGrNEzm56NLQjeTEsKxEKPHFDkHUWBscBIJyJsdYbObe1DgxOhWoxYz3i4cft5iL3IpsaELdo5ES3LVJP
  21. 0kKh0FyFI2HTqRjNPWBWgQZyKX2uh0zoOhVApNdhQBl3mXZmaSuETsMzwdvewHOLOKp1tB1gCgvRXNf4OQ4XLOnSk6ksYW7Pd0NXEwhmFpgXTtQuJdDYXUwQD73oqq56ug6yX44MuscfdtDwJvuioBgkeItWcR
  22. FygHmLkHFNeIloqMU0nxTeUoaoA4yzyPybiQTjSU0e9CgCxkODc1ynQGIFCzo6XUws5mz31LIDmGssFT4tqxgeDH9aCjHnWTcIMB46i2JEOonXfqOsCKrvvoJBlslQvilNPitcwOIgbmRUv0iOfWXb7EOmutFA
  23. ZSs3Oeo5DGB1lkxRdZgidkV5fyfabYhR1Rd7jZsK7Sr4nzSSpnwuHjGRzqNd4Nwvi2Y94q6OuA17PVtwvordaJraTbCtOdkbCZPU7UsJfwlSOCCJM5XFmvIvquDTlyeNcaFypnADkEKcspqIqfxmECH9uH6H9I
  24. CfQ5xeOzf1Cl1TqsDnWWQWmyrerFAu5IAaCmILWUaZwQTMHkI2vteeh9eigYjWEak23vD9DkGCB8KBfzVzHsIN0fidBEsGqE7wXg1CZWfLhRqu50WD676dKP61mVBeeyHRPyhtuZ7KLnETp0B9tYztzCe65pc9
  25. lXyy1jjLGdMIrJfKPiSLC4q9C2O5qyxJMscO8D2ZgEpZve144x"", RANGE(0,1000), {{KEY_1: 1, KEY_2: 2, KEY_3: 3, KEY_4: 4, KEY_5: 5, KEY_6: 6, KEY_7: 7, KEY_8: 8, KEY_9: 9,
  26. KEY_10: 10, KEY_11: 11, KEY_12: 12, KEY_13: 13, KEY_14: 14, KEY_15: 15, KEY_16: 16, KEY_17: 17, KEY_18: 18, KEY_19: 19, KEY_20: 20, KEY_21: 21, KEY_22: 22,
  27. KEY_23: 23, KEY_24: 24, KEY_25: 25, KEY_26: 26, KEY_27: 27, KEY_28: 28, KEY_29: 29, KEY_30: 30, KEY_31: 31, KEY_32: 32, KEY_33: 33, KEY_34: 34, KEY_35: 35,
  28. KEY_36: 36, KEY_37: 37, KEY_38: 38, KEY_39: 39, KEY_40: 40, KEY_41: 41, KEY_42: 42, KEY_43: 43, KEY_44: 44, KEY_45: 45, KEY_46: 46, KEY_47: 47, KEY_48: 48,
  29. KEY_49: 49, KEY_50: 50, KEY_51: 51, KEY_52: 52, KEY_53: 53, KEY_54: 54, KEY_55: 55, KEY_56: 56, KEY_57: 57, KEY_58: 58, KEY_59: 59, KEY_60: 60, KEY_61: 61,
  30. KEY_62: 62, KEY_63: 63, KEY_64: 64, KEY_65: 65, KEY_66: 66, KEY_67: 67, KEY_68: 68, KEY_69: 69, KEY_70: 70, KEY_71: 71, KEY_72: 72, KEY_73: 73, KEY_74: 74,
  31. KEY_75: 75, KEY_76: 76, KEY_77: 77, KEY_78: 78, KEY_79: 79, KEY_80: 80, KEY_81: 81, KEY_82: 82, KEY_83: 83, KEY_84: 84, KEY_85: 85, KEY_86: 86, KEY_87: 87,
  32. KEY_88: 88, KEY_89: 89, KEY_90: 90, KEY_91: 91, KEY_92: 92, KEY_93: 93, KEY_94: 94, KEY_95: 95, KEY_96: 96, KEY_97: 97, KEY_98: 98, KEY_99: 99, KEY_100: 100}}";
  33.  
  34. static void Main(string[] args)
  35. {
  36. try
  37. {
  38. var timer = new Stopwatch();
  39.  
  40. foreach (var nrOfRecords in RecordCounts)
  41. {
  42. timer.Restart();
  43. TestResult(nrOfRecords);
  44.  
  45. Console.WriteLine($"Sync: {nrOfRecords:D5} records fetched in {timer.Elapsed.TotalMilliseconds}");
  46. }
  47.  
  48. foreach (var nrOfRecords in RecordCounts)
  49. {
  50. timer.Restart();
  51. TestResultAsync(nrOfRecords).GetAwaiter().GetResult();
  52.  
  53. Console.WriteLine($"Async: {nrOfRecords:D5} records fetched in {timer.Elapsed.TotalMilliseconds}");
  54. }
  55. }
  56. catch (Exception e)
  57. {
  58. Console.WriteLine(e.ToString());
  59. }
  60.  
  61. Console.WriteLine("Finished. Press enter to exit.");
  62. Console.ReadLine();
  63. }
  64.  
  65. private static IEnumerable<IRecord> TestResult(int n)
  66. {
  67. IEnumerable<IRecord> result = null;
  68.  
  69. using (var driver = GraphDatabase.Driver(BoltUrl, AuthTokens.Basic(BoltUsername, BoltPassword)))
  70. {
  71. var session = driver.Session();
  72. try
  73. {
  74. var records =
  75. session.Run(string.Format(BoltQuery, n));
  76.  
  77. result = records.ToList();
  78. }
  79. finally
  80. {
  81. session.Dispose();
  82. }
  83. }
  84.  
  85. return result;
  86. }
  87.  
  88. private static async Task<IEnumerable<IRecord>> TestResultAsync(int n)
  89. {
  90. IEnumerable<IRecord> result = null;
  91.  
  92. using (var driver = GraphDatabase.Driver(BoltUrl, AuthTokens.Basic(BoltUsername, BoltPassword)))
  93. {
  94. var session = driver.Session();
  95. try
  96. {
  97. var cursor =
  98. await session.RunAsync(string.Format(BoltQuery, n));
  99.  
  100. result = await cursor.ToListAsync();
  101. }
  102. finally
  103. {
  104. session.Dispose();
  105. }
  106. }
  107.  
  108. return result;
  109. }
  110.  
  111. }
  112. }
Add Comment
Please, Sign In to add comment