benchmark.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var Benchpress = require('@mariocasciaro/benchpress')
  2. var benchmark = new Benchpress()
  3. var op = require('./')
  4. var testObj = {
  5. level1_a: {
  6. level2_a: {
  7. level3_a: {
  8. level4_a: {
  9. }
  10. }
  11. }
  12. }
  13. }
  14. var testObj2
  15. benchmark
  16. .add('get existing', {
  17. iterations: 100000,
  18. fn: function() {
  19. op.get(testObj, ['level1_a', 'level2_a', 'level3_a', 'level4_a'])
  20. }
  21. })
  22. .add('get non-existing', {
  23. iterations: 100000,
  24. fn: function() {
  25. op.get(testObj, ['level5_a'])
  26. }
  27. })
  28. .add('push', {
  29. iterations: 100000,
  30. fn: function() {
  31. op.push(testObj, ['level1_a', 'level2_a', 'level3_a', 'level4_a', 'level5_a'], 'val')
  32. }
  33. })
  34. .add('set non existing', {
  35. iterations: 100000,
  36. fn: function() {
  37. op.set(testObj2, ['level1_a', 'level2_b', 'level3_b', 'level4_b', 'level5_b'], 'val')
  38. },
  39. beforeEach: function() {
  40. testObj2 = {}
  41. }
  42. })
  43. .add('set existing', {
  44. iterations: 100000,
  45. fn: function() {
  46. op.set(testObj, ['level1_a', 'level2_a', 'level3_a', 'level4_a', 'level5_b'], 'val')
  47. }
  48. })
  49. .run()