You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.2 KiB

9 years ago
setTimeout(function () {
if (window.isPhantom) return
// Initial load & render metrics
metrics.afterRenderAsync = now()
console.log('Vue load : ' + (metrics.afterLoad - metrics.beforeLoad).toFixed(2) + 'ms')
console.log('Render sync : ' + (metrics.afterRender - metrics.beforeRender).toFixed(2) + 'ms')
console.log('Render async : ' + (metrics.afterRenderAsync - metrics.beforeRender).toFixed(2) + 'ms')
console.log('Total sync : ' + (metrics.afterRender - metrics.beforeLoad).toFixed(2) + 'ms')
console.log('Total async : ' + (metrics.afterRenderAsync - metrics.beforeLoad).toFixed(2) + 'ms')
// Benchmark
// add 100 items
// toggle them one by one
// then delete them one by one
var benchSetting = window.location.search.match(/\bbenchmark=(\d+)/)
if (!benchSetting) return
var itemsToAdd = +benchSetting[1],
render,
bench,
addTime,
toggleTime,
removeTime
var start = now(),
last
add()
function add() {
last = now()
var newTodo = '12345',
todoInput = document.getElementById('new-todo')
for (var i = 0; i < itemsToAdd; i++) {
var keyupEvent = document.createEvent('Event');
keyupEvent.initEvent('keyup', true, true);
keyupEvent.keyCode = 13;
app.newTodo = 'Something to do ' + i;
todoInput.dispatchEvent(keyupEvent)
}
setTimeout(toggle, 0)
}
function toggle () {
addTime = now() - last
var checkboxes = document.querySelectorAll('.toggle')
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].click()
}
last = now()
setTimeout(remove, 0)
}
function remove () {
toggleTime = now() - last
var deleteButtons = document.querySelectorAll('.destroy');
for (var i = 0; i < deleteButtons.length; i++) {
deleteButtons[i].click()
}
last = now()
setTimeout(report, 0)
}
function report () {
bench = now() - start
removeTime = now() - last
console.log('\nBenchmark x ' + itemsToAdd)
console.log('add : ' + addTime.toFixed(2) + 'ms')
console.log('toggle : ' + toggleTime.toFixed(2) + 'ms')
console.log('remove : ' + removeTime.toFixed(2) + 'ms')
console.log('total : ' + bench.toFixed(2) + 'ms')
}
}, 0)