One liner or temp vars

JavaScript performance comparison

Test case created by Dan

Preparation code

<script src=""></script>
Benchmark.prototype.setup = function() {
    var stateMachine = [
                                wiz1: {
                                    Forward: 'wiz2',
                                    Backward: null,
                                    Boogie: 'wiz1'
                                wiz2: {
                                    Forward: 'wiz3',
                                    Backward: 'wiz1',
                                    Boogie: 'wiz2',
                                    Spruce: 'wiz1'
                                wiz3: {
                                    Forward: 'wiz4',
                                    Backward: 'wiz2',
                                    Boogie: 'wiz3'
                                wiz4: {
                                    Forward: null,
                                    Backward: 'wiz3',
                                    Boogie: 'wiz4'
                                clean: {
                                    Dirty: 'dirty'
                                dirty: {
                                    Clean: 'clean',
                                    Boogie: 'clean',
                                    Spruce: 'spiffy'
                                spiffy: {
                                    Dirty: 'dirty'

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
One liner
var actionSet = _(stateMachine).map(_.values).flatten()
var actionMappings = _(stateMachine).map(_.values).flatten();
var allActions =;
var actionSet = allActions.uniq().value();

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers


Comment form temporarily disabled.

Add a comment