@skele/core
Version:
Core package of the Skele framework. Element definitions, registrations and traversal.
1 lines • 3.28 kB
JavaScript
var _Registry=_interopRequireDefault(require("../Registry"));var _MultivalueRegistry=_interopRequireDefault(require("../MultivalueRegistry"));var _Trie=_interopRequireDefault(require("../impl/Trie"));var _benchmark=_interopRequireDefault(require("benchmark"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Suite=_benchmark.default.Suite;describe('benchmarks on registry access',function(){var keySet=[['edition','management','delete'],['scene','settings'],['scene','settings','container'],['scene','settings','item'],['scene','settings','item','user'],['scene','settings','link'],['scene','settings','link','user'],['scene','settings','slider'],['scene','login'],['__error','document','article'],['__error','edition','departments-view'],['__error','edition','page-list'],['component','article'],['document','article'],['document','article','tablet'],['document','edition'],['document','stream-view'],['edition','departments-view'],['edition','menu'],['edition','page-list'],['edition','view-selector'],['__error','component','editions'],['__error','component','editions','phone'],['__error','component','not-subscribed-item-image'],['__error','document','storefront'],['__error','document','storefront-not-subscribed'],['__loading','component','not-subscribed-item-image'],['__read','component','editions'],['component','editions'],['component','editions','header'],['component','editions','inlay'],['component','editions','inlay','item'],['component','editions','item'],['component','editions','item','phone'],['component','editions','phone'],['component','not-subscribed-item'],['component','not-subscribed-item-image'],['component','publications'],['component','publications','item'],['document','storefront'],['document','storefront-not-subscribed'],['app'],['menu-item','menu-group'],['menu-item','service-item'],['navigation','right-menu'],['navigation','side-menu'],['scene'],['__error'],['__loading'],['__read']];var len=keySet.length;var randomKey=function randomKey(){var idx=Math.floor(Math.random()*len);return keySet[idx];};test.skip('Benchmark: get ',function(){var registry=new _Registry.default();var trie=new _Trie.default();keySet.forEach(function(key){registry.register(key,'value');trie.register(key,'value');});var key;new Suite().add('registry.get',function(){registry.get(key);}).add('trie.get',function(){trie.get(key);}).on('start cycle',function(){key=randomKey();}).on('cycle',function(event){console.log(event.target.toString());}).on('complete',function(){console.log('Fastest is '+this.filter('fastest').map('name'));}).run();});test.skip('Benchmark: collect vs. MultiValueRegistry ',function(){var registry=new _MultivalueRegistry.default();var trie=new _Trie.default();keySet.forEach(function(key){var bagLen=Math.floor(Math.random()*20);var bag=new Array(bagLen);bag.fill('value',0,bagLen);bag.forEach(function(v){registry.register(key,v);});trie.register(key,bag);});var key;new Suite().add('registry.get',function(){registry.get(key);}).add('trie.collect',function(){trie.collect(key);}).on('start cycle',function(){key=randomKey();}).on('cycle',function(event){console.log(event.target.toString());}).on('complete',function(){console.log('Fastest is '+this.filter('fastest').map('name'));}).run();});});