12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- (function () {
- var BenchView = function (benchmark) {
- this.benchmark = benchmark
- var benchmarkTemplate = $('#benchmark-template').text()
- this.html = $(Mustache.to_html(benchmarkTemplate, benchmark))
- this.benchmark.on('start', this.started.bind(this))
- this.benchmark.on('complete', this.completed.bind(this))
- this.benchmark.on('error', this.errored.bind(this))
- this.html.find('button').bind('click', function () {
- benchmark.run({async: true})
- })
- }
- BenchView.prototype.started = function () {
- this.html
- .addClass('is-running')
- .find('.status')
- .html('Running…')
- }
- BenchView.prototype.completed = function () {
- this.html
- .removeClass('is-running')
- .find('.status')
- .text('Done')
- .end()
- .find('.ops-per-sec')
- .text(Benchmark.formatNumber(this.benchmark.hz.toFixed(2)))
- }
- BenchView.prototype.errored = function () {
- this.html
- .removeClass('is-running')
- .addClass('is-errored')
- .find('.status')
- .text('Error')
- throw(this.benchmark.error)
- }
- benchmarks = []
- var bench = function (name, testFn, options) {
- var benchmark = new Benchmark(name, testFn, options)
- benchmarks.push(benchmark)
- }
- bench.runAll = function () {
- for (var i = 1; i < benchmarks.length; i++) {
- var benchmark = benchmarks[i],
- prev = benchmarks[i - 1]
- prev.on('complete', function () {
- console.log(benchmark)
- benchmark.run({async: true})
- })
- }
- benchmarks[0].run({async: true})
- }
- $(document).ready(function () {
- var benchmarksContainer = $('#benchmarks tbody')
- benchmarks.forEach(function (benchmark) {
- var benchView = new BenchView (benchmark)
- benchmarksContainer.append(benchView.html)
- })
- $('button.run').click(function () {
- //bench.runAll()
- })
- })
- window.bench = bench
- })()
|