performanceSpec.js 980 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. 'use strict';
  2. var Refs = require('../../');
  3. function trace(fn) {
  4. var time = Date.now();
  5. fn();
  6. return Date.now() - time;
  7. }
  8. describe.skip('performance characteristics', function() {
  9. it('refs access', function() {
  10. var refs = new Refs({ name: 'foos', collection: true }, { name: 'bar' });
  11. var foos = [];
  12. var a = {}, b;
  13. refs.bind(a, 'foos');
  14. for (var i = 0; i < 50000; i++) {
  15. b = {};
  16. foos.push(b);
  17. a.foos.add(b);
  18. }
  19. var time = trace(function() {
  20. for (var i = 0; i < foos.length; i++) {
  21. foos[i].bar;
  22. }
  23. });
  24. console.log('refs access (ms)', time);
  25. });
  26. it('default access', function() {
  27. var foos = [];
  28. var a = {}, b;
  29. for (var i = 0; i < 50000; i++) {
  30. b = { bar: a };
  31. foos.push(b);
  32. }
  33. var time = trace(function() {
  34. for (var i = 0; i < foos.length; i++) {
  35. foos[i].bar;
  36. }
  37. });
  38. console.log('default access (ms)', time);
  39. });
  40. });