Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. function bench (name, iterations = 500, fn) {
  2. const t0 = performance.now();
  3.  
  4. for (let i = 0; i < iterations; i++) fn(i)
  5.  
  6.  
  7. let d = performance.now() - t0;
  8. d = Math.ceil(d);
  9.  
  10. let ops = iterations / d;
  11. ops = Math.ceil(ops);
  12. ops = new Intl.NumberFormat('en').format(ops);
  13.  
  14. console.log(`${name} took: ~%f ms or ~%s ops/ms`, d, ops)
  15. }
  16.  
  17.  
  18. obj = {
  19. abcd0: "foo0",
  20. abcd1: "foo1",
  21. abcd2: "foo2",
  22. abcd3: "fo03",
  23. };
  24.  
  25.  
  26. // Number of times we run the tests
  27. iters = 10 ** 7;
  28. console.clear();
  29.  
  30. // Normal variable assignments of obj props
  31. bench(`assign object vars`, iters, function (i){
  32. var abcd0 = obj.abcd0;
  33. var abcd1 = obj.abcd1;
  34. var abcd2 = obj.abcd2;
  35. var abcd3 = obj.abcd3;
  36.  
  37. return abcd0 + abcd1 + abcd2 + abcd3 + i;
  38. });
  39.  
  40. // By destructuring
  41. bench(`destruct object vars`, iters, function (i){
  42. var { abcd0, abcd1, abcd2, abcd3 } = obj;
  43.  
  44. return abcd0 + abcd1 + abcd2 + abcd3 + i;
  45. })
  46.  
  47. var i = 0;
  48. // Asignment inside function parameters
  49. bench(`destruct object func`, iters, function (i){
  50. (function({ abcd0, abcd1, abcd2, abcd3 }){
  51.  
  52. return abcd0 + abcd1 + abcd2 + abcd3 + i;
  53.  
  54. })(obj);
  55. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement