Refactor benchmarks to be a little more useful.

Originally, the reliance on global ETs was making some tests useless.

Without benchmark providing a trivial way to set up state for each "sample",
this is as decent as we can get, without being too complicated (basing stuff on
test.count).

Reran some numbers across a few browsers, just to act as the baseline for tests
going forward.

-----

Chrome25 This Commit

Publish x 222,381
new BaseCore() x 53,524
new Base() x 24,044
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 23,975
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 66,126
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 284,488
Fire With Payload - 10 listeners x 293,837
Fire - 10 listeners x 450,277
Fire With Payload - 2 listeners x 372,498
Fire - 2 listeners x 605,252
Fire With Payload - 0 listeners x 4,698,338
Fire - 0 listeners x 5,243,252

Chrome25 3.8.1

Publish x 148,366
new BaseCore() x 54,417
new Base() x 15,960
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 22,248
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 49,948
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 104,844
Fire With Payload - 10 listeners x 135,912
Fire - 10 listeners x 177,887
Fire With Payload - 2 listeners x 159,371
Fire - 2 listeners x 194,467
Fire With Payload - 0 listeners x 769,963
Fire - 0 listeners x 806,474

FF19 This Commit

Publish x 174,510
new BaseCore() x 22,918
new Base() x 10,193
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 10,596
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 26,410
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 78,645
Fire With Payload - 10 listeners x 77,227
Fire - 10 listeners x 87,631
Fire With Payload - 2 listeners x 100,945
Fire - 2 listeners x 110,833
Fire With Payload - 0 listeners x 1,627,725
Fire - 0 listeners x 2,149,124

FF19 3.8.1

Publish x 118,637
new BaseCore() x 23,548
new Base() x 8,311
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 10,535
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 23,139
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 43,198
Fire With Payload - 10 listeners x 64,875
Fire - 10 listeners x 70,919
Fire With Payload - 2 listeners x 77,945
Fire - 2 listeners x 87,826
Fire With Payload - 0 listeners x 1,549,324
Fire - 0 listeners x 2,014,923

Safari6 This Commit

Publish x 380,083
new BaseCore() x 61,902
new Base() x 21,892
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 16,449
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 43,362
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 162,522
Fire With Payload - 10 listeners x 89,641
Fire - 10 listeners x 88,941
Fire With Payload - 2 listeners x 161,232
Fire - 2 listeners x 164,421
Fire With Payload - 0 listeners x 3,127,966
Fire - 0 listeners x 3,410,986

Safari6 3.8.1

Publish x 192,492
new BaseCore() x 58,579
new Base() x 15,095
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 15,460
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 37,705
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 74,236
Fire With Payload - 10 listeners x 72,622
Fire - 10 listeners x 70,800
Fire With Payload - 2 listeners x 120,713
Fire - 2 listeners x 130,585
Fire With Payload - 0 listeners x 1,554,694
Fire - 0 listeners x 1,704,530