Skip to content

Commit

Permalink
added perf tests for attach and reference
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim de Beer committed Aug 18, 2016
1 parent 042a788 commit 95e91fe
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 4 deletions.
24 changes: 24 additions & 0 deletions test/performance/emit.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,32 @@ function emitObservable () {
}
}

// add base, add attach

perf(emitObservable, emitObserv, 1.25)

const ref = new Observable()
const obsRef = new Observable(ref) //eslint-disable-line

function emitObservableReference () {
for (var i = 0; i < amount; i++) {
ref.set(i)
}
}

perf(emitObservableReference, emitObservable, 1.25)

const attach = new Observable()
const obsAttach = new Observable() //eslint-disable-line
obsAttach.on([ () => ++global.obsCallCount, attach ])

function emitObservableAttach () {
for (var i = 0; i < amount; i++) {
obsAttach.set(i)
}
}

perf(emitObservableAttach, emitObservable, 1.25)
// 1.25 is slower then
// browser is way faster for emit observable
// way faster in es5 still...
Expand Down
4 changes: 2 additions & 2 deletions test/performance/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict'
// require('./create')
// require('./emit')
require('./emit')
// require('./compute')
// require('./keys')
require('./remove')
// require('./remove')
Empty file added test/performance/on.js
Empty file.
6 changes: 4 additions & 2 deletions test/performance/remove.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict'
const Observable = require('../../')
// const Base = require('vigour-base')

const perf = require('vigour-performance')
var amount = 1e5

Expand All @@ -27,6 +26,9 @@ function create () {
}
}

// create is rly rly fast 100k 4ms
// perf(create, function x() {})
// remove and create, remove fires listener
// remove is a lto slower since it has to loop trough emitters for example *using hasownprop)
perf(removeNoListeners, create, 7)
perf(remove, removeNoListeners, 4)
perf(remove, create, 30)

0 comments on commit 95e91fe

Please sign in to comment.