Advertisement
Guest User

Untitled

a guest
Mar 7th, 2015
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var
  2.     tries = 100000,
  3.     cnt,
  4.     name,
  5.     names = ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
  6.     nLen  = names.length,
  7.     switchTime,
  8.     callTime;
  9.  
  10. function getName()
  11. {
  12.     for (var j, x, i = nLen; i; j = Math.floor(Math.random() * i), x = names[--i], names[i] = names[j], names[j] = x);
  13.     return names[0];
  14. }
  15.  
  16. function callByName(name)
  17. {
  18.     // ...
  19. }
  20.  
  21. switchTime = (new Date()).getTime();
  22. cnt = tries;
  23. while (cnt--) {
  24.     name = getName();
  25.     switch (name) {
  26.  
  27.         case 'a':
  28.         case 'b':
  29.         case 'c':
  30.         case 'd':
  31.         case 'e':
  32.         case 'f':
  33.             // for_all_non_default()
  34.             if (name == 'a') {
  35.                 // for_A()
  36.             } else if (name == 'b') {
  37.                 // for_B()
  38.             } else if (name == 'c') {
  39.                 // for_C()
  40.             } else if (name == 'd') {
  41.                 // for_D()
  42.             } else if (name == 'e') {
  43.                 // for_E()
  44.             } else if (name == 'f') {
  45.                 // for_F()
  46.             }
  47.         break;
  48.  
  49.         default:
  50.             // for_default()
  51.  
  52.     }
  53.  
  54. }
  55. switchTime = (new Date()).getTime() - switchTime;
  56.  
  57.  
  58. callTime = (new Date()).getTime();
  59. cnt = tries;
  60. while (cnt--) {
  61.     name = getName();
  62.     if (names.indexOf(name) != -1) {
  63.         // for_all_non_default()
  64.         callByName(name);
  65.     } else {
  66.         // for_default()
  67.     }
  68. }
  69. callTime = (new Date()).getTime() - callTime;
  70.  
  71.  
  72. console.log(switchTime, callTime);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement