Advertisement
Guest User

array performance test

a guest
Aug 6th, 2015
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #TouhouDanmakufu[Package]
  2. #ScriptVersion[3]
  3. #Title["Timing test"]
  4.  
  5. let array = [];
  6. let val = 0;
  7.  
  8. function writeN(n) {
  9. if (!n) {return;}
  10. array = [];
  11. writeN(truncate(n / 2));
  12. if (n % 2) {array = array ~ [rand(0, 1)];}
  13. array = array ~ array;
  14. }
  15.  
  16. task time {
  17. let start = GetPackageTime;
  18. yield;
  19. WriteLog(IntToString(GetPackageTime - start) ~ " ms");
  20. }
  21.  
  22. @Initialize {
  23. main;
  24. }
  25.  
  26. @MainLoop {yield;}
  27.  
  28. function testN(n) {
  29. writeN(n);
  30. WriteLog("Testing with " ~ IntToString(n) ~ " elements");
  31. WriteLog("Access at start");
  32. let se = 0;
  33. let ee = n - 1;
  34. time;
  35. loop (1000000) {
  36. val = array[se];
  37. }
  38. yield;
  39. WriteLog("Access at end");
  40. time;
  41. loop (1000000) {
  42. val = array[ee];
  43. }
  44. yield;
  45. }
  46.  
  47. task main {
  48. loop (60) {yield;}
  49. testN(100);
  50. testN(1000);
  51. testN(10000);
  52. testN(100000);
  53. testN(1000000);
  54. ClosePackage;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement