Advertisement
Guest User

Untitled

a guest
May 21st, 2015
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #define DEBUG
  2. world {
  3. fps = 11;
  4. icon_size = 32;
  5. view = 6;
  6. }
  7. var/inforloop = 0;
  8. var/stopbruteforce = 0;
  9. var/list/obj/testingobj/objects = list();
  10. var/runcount = 0;
  11. var/mob/M;
  12. mob {
  13. verb/startforloopbruteforce() {
  14. set name="Start For Loop Brute force.";
  15. set category="ForLoop";
  16. world << "starting brute force";
  17. M = usr;
  18. new /obj/testingobj;
  19. stopbruteforce = 1;
  20. spawn(5)
  21. forlooptest1();
  22. }
  23.  
  24. verb/stoploopbruteforce() {
  25. set name="Stop For Loop Brute force.";
  26. set category="ForLoop";
  27. world << "stopping brute force";
  28. stopbruteforce = 1;
  29. }
  30.  
  31. proc/forlooptest1() {
  32. set background=1;
  33. stopbruteforce = 0;
  34. inforloop = 0;
  35. runcount = 0;
  36. world << "brute force started";
  37. while (1) {
  38. forlooptest2();
  39. if (inforloop) {
  40. world << "runtime detected. restarting. Ran [runcount] times.";
  41. spawn(10)
  42. if (!stopbruteforce)
  43. forlooptest1();
  44. return;
  45. }
  46.  
  47. if (stopbruteforce) {
  48. inforloop = 0;
  49. world << "brute force stopped. Ran [runcount] times";
  50. return;
  51. }
  52. runcount++;
  53. if ((runcount % 10000) == 0) {
  54. world << "at runcount number [runcount]";
  55. sleep(0); //sleep every 10000 runs so the stop runcount verb actually works.
  56. }
  57.  
  58. }
  59. }
  60.  
  61. proc/forlooptest2() {
  62. set background=1;
  63. inforloop = 1;
  64. for (var/i=0;i<100;i++) {
  65. locate(/turf) in M.locs; //this kills the ram.
  66. //locate(/turf) in M.loc; //this does not.
  67. for (var/thing in objects)
  68. continue;
  69. }
  70.  
  71. inforloop = 0;
  72. }
  73.  
  74. }
  75.  
  76. obj/testingobj {
  77. New() {
  78. objects += src;
  79. }
  80.  
  81. Del() {
  82. objects -= src;
  83. }
  84.  
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement