Skip to content

Commit a0a6183

Browse files
author
Dominik Tilp
committed
fix dependencies
increase items count
1 parent 1bc1349 commit a0a6183

File tree

15 files changed

+139
-37
lines changed

15 files changed

+139
-37
lines changed

angular/src/HomeController.es6.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default class HomeController {
2222
this.id = 1;
2323
}
2424

25-
buildData(count = 1000) {
25+
buildData(count = 10000) {
2626
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
2727
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
2828
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -36,12 +36,12 @@ export default class HomeController {
3636
stopMeasure();
3737
}
3838
_random(max) {
39-
return Math.round(Math.random() * 1000) % max;
39+
return Math.round(Math.random() * 10000) % max;
4040
}
4141
add() {
4242
startMeasure("add");
4343
this.start = performance.now();
44-
this.data = this.data.concat(this.buildData(10));
44+
this.data = this.data.concat(this.buildData(100));
4545
this.printDuration();
4646
}
4747
select(item) {
@@ -73,4 +73,4 @@ export default class HomeController {
7373
};
7474
}
7575

76-
HomeController.$inject = ['$scope'];
76+
HomeController.$inject = ['$scope'];

angular2/app/app.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class MyAppComponent implements AfterViewChecked {
3434

3535
constructor() {
3636
}
37-
buildData(count: number = 1000): Array<string> {
37+
buildData(count: number = 10000): Array<string> {
3838
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
3939
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
4040
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -53,7 +53,7 @@ class MyAppComponent implements AfterViewChecked {
5353
}
5454

5555
_random(max: number) {
56-
return Math.round(Math.random()*1000)%max;
56+
return Math.round(Math.random()*10000)%max;
5757
}
5858

5959
select(item, event) {
@@ -79,7 +79,7 @@ class MyAppComponent implements AfterViewChecked {
7979

8080
add(event) {
8181
startMeasure("add");
82-
this.data = this.data.concat(this.buildData(10));
82+
this.data = this.data.concat(this.buildData(100));
8383
this.printDuration();
8484
}
8585

@@ -97,4 +97,4 @@ class MyAppComponent implements AfterViewChecked {
9797

9898
}
9999

100-
bootstrap(MyAppComponent);
100+
bootstrap(MyAppComponent);

aurelia/src/app.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {inject, TaskQueue} from 'aurelia-framework';
22

33
function _random(max) {
4-
return Math.round(Math.random() * 1000) % max;
4+
return Math.round(Math.random() * 10000) % max;
55
}
66

77
class Store {
@@ -11,7 +11,7 @@ class Store {
1111
this.id = 1;
1212
}
1313

14-
buildData(count = 1000) {
14+
buildData(count = 10000) {
1515
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
1616
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
1717
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -49,7 +49,7 @@ class Store {
4949
}
5050

5151
add() {
52-
this.data = this.data.concat(this.buildData(10));
52+
this.data = this.data.concat(this.buildData(100));
5353
this.selected = undefined;
5454
}
5555

ember/app/services/rows.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Ember from 'ember';
22

33
function _random(max) {
4-
return Math.round(Math.random()*1000)%max;
4+
return Math.round(Math.random()*10000)%max;
55
}
66

77
var lastMeasure;
@@ -41,7 +41,7 @@ export default Ember.Service.extend({
4141
id: 1,
4242
init() {
4343
},
44-
buildData(count = 1000) {
44+
buildData(count = 10000) {
4545
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
4646
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
4747
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -81,7 +81,7 @@ export default Ember.Service.extend({
8181
},
8282
add() {
8383
startMeasure("add");
84-
var newData = this.data.concat(this.buildData(10));
84+
var newData = this.data.concat(this.buildData(100));
8585
this.set('data', newData);
8686
this.set('selected', undefined);
8787
stopMeasure();

mithril/src/entry/store.es6.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
'use strict';
66

77
function _random(max) {
8-
return Math.round(Math.random()*1000)%max;
8+
return Math.round(Math.random()*10000)%max;
99
}
1010

1111
// model
@@ -17,7 +17,7 @@ var Store = {
1717
const idx = this.data.findIndex(d => d.id==id);
1818
this.data.splice(idx, 1);
1919
},
20-
buildData: function(count = 1000) {
20+
buildData: function(count = 10000) {
2121
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
2222
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
2323
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -31,7 +31,7 @@ var Store = {
3131
this.selected = undefined;
3232
},
3333
update : function(mod=10) {
34-
for (let i=0;i<this.data.length;i+=10) {
34+
for (let i=0;i<this.data.length;i+=100) {
3535
this.data[i].label += '.';
3636
}
3737
/*for (let i=0;i<this.data.length;i+=10) {
@@ -48,4 +48,4 @@ var Store = {
4848
}
4949
};
5050

51-
export default Store;
51+
export default Store;

ractive/src/main.es6.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class DataStore {
2929
this.selected = undefined;
3030
this.id = 1;
3131
}
32-
buildData(count = 1000) {
32+
buildData(count = 10000) {
3333
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
3434
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
3535
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -39,7 +39,7 @@ class DataStore {
3939
return data;
4040
}
4141
_random(max) {
42-
return Math.round(Math.random() * 1000) % max;
42+
return Math.round(Math.random() * 10000) % max;
4343
}
4444
select(id) {
4545
this.selected = id;
@@ -57,7 +57,7 @@ class DataStore {
5757
this.data = this.buildData();
5858
}
5959
add() {
60-
this.data = this.data.concat(this.buildData(10));
60+
this.data = this.data.concat(this.buildData(100));
6161
}
6262
}
6363

@@ -130,4 +130,3 @@ var ractive = new Ractive({
130130
,
131131
data: { store: store, selected: undefined}
132132
});
133-

react/src/Store.es6.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
function _random(max) {
4-
return Math.round(Math.random()*1000)%max;
4+
return Math.round(Math.random()*10000)%max;
55
}
66

77
export class Store {
@@ -10,7 +10,7 @@ export class Store {
1010
this.selected = undefined;
1111
this.id = 1;
1212
}
13-
buildData(count = 1000) {
13+
buildData(count = 10000) {
1414
var adjectives = ["pretty", "large", "big", "small", "tall", "short", "long", "handsome", "plain", "quaint", "clean", "elegant", "easy", "angry", "crazy", "helpful", "mushy", "odd", "unsightly", "adorable", "important", "inexpensive", "cheap", "expensive", "fancy"];
1515
var colours = ["red", "yellow", "blue", "green", "pink", "brown", "purple", "brown", "white", "black", "orange"];
1616
var nouns = ["table", "chair", "house", "bbq", "desk", "car", "pony", "cookie", "sandwich", "burger", "pizza", "mouse", "keyboard"];
@@ -34,7 +34,7 @@ export class Store {
3434
this.selected = undefined;
3535
}
3636
add() {
37-
this.data = this.data.concat(this.buildData(10));
37+
this.data = this.data.concat(this.buildData(100));
3838
this.selected = undefined;
3939
}
4040
update() {
@@ -44,4 +44,4 @@ export class Store {
4444
select(id) {
4545
this.selected = id;
4646
}
47-
}
47+
}

test-1000

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
create 1000 rows:
2+
angular: DoubleSummaryStatistics{count=3, sum=991,887000, min=316,161000, average=330,629000, max=351,076000}
3+
angular2: DoubleSummaryStatistics{count=3, sum=884,410000, min=246,516000, average=294,803333, max=336,552000}
4+
aurelia: DoubleSummaryStatistics{count=3, sum=759,143000, min=242,429000, average=253,047667, max=258,703000}
5+
ember/dist: DoubleSummaryStatistics{count=3, sum=2787,558000, min=905,485000, average=929,186000, max=949,103000}
6+
mithril: DoubleSummaryStatistics{count=3, sum=1088,075000, min=354,957000, average=362,691667, max=367,883000}
7+
ractive: DoubleSummaryStatistics{count=3, sum=1976,710000, min=641,198000, average=658,903333, max=668,363000}
8+
react: DoubleSummaryStatistics{count=3, sum=1924,289000, min=557,585000, average=641,429667, max=699,063000}
9+
vidom: DoubleSummaryStatistics{count=3, sum=537,140000, min=175,759000, average=179,046667, max=182,334000}
10+
vue: DoubleSummaryStatistics{count=3, sum=966,222000, min=318,205000, average=322,074000, max=324,164000}
11+
update 1000 rows (hot):
12+
angular: DoubleSummaryStatistics{count=3, sum=1052,384000, min=342,479000, average=350,794667, max=355,238000}
13+
angular2: DoubleSummaryStatistics{count=3, sum=1152,529000, min=294,842000, average=384,176333, max=531,340000}
14+
aurelia: DoubleSummaryStatistics{count=3, sum=590,986000, min=172,463000, average=196,995333, max=217,494000}
15+
ember/dist: DoubleSummaryStatistics{count=3, sum=2518,259000, min=803,532000, average=839,419667, max=866,785000}
16+
mithril: DoubleSummaryStatistics{count=3, sum=967,954000, min=297,219000, average=322,651333, max=337,855000}
17+
ractive: DoubleSummaryStatistics{count=3, sum=397,750000, min=118,730000, average=132,583333, max=144,880000}
18+
react: DoubleSummaryStatistics{count=3, sum=935,453000, min=301,245000, average=311,817667, max=317,262000}
19+
vidom: DoubleSummaryStatistics{count=3, sum=586,459000, min=187,239000, average=195,486333, max=201,731000}
20+
vue: DoubleSummaryStatistics{count=3, sum=1137,462000, min=365,739000, average=379,154000, max=392,744000}
21+
partial update:
22+
angular: DoubleSummaryStatistics{count=3, sum=113,077000, min=33,096000, average=37,692333, max=42,850000}
23+
angular2: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
24+
aurelia: DoubleSummaryStatistics{count=3, sum=227,559000, min=57,453000, average=75,853000, max=98,101000}
25+
ember/dist: DoubleSummaryStatistics{count=3, sum=832,365000, min=254,519000, average=277,455000, max=293,521000}
26+
mithril: DoubleSummaryStatistics{count=3, sum=322,740000, min=96,474000, average=107,580000, max=120,246000}
27+
ractive: DoubleSummaryStatistics{count=3, sum=201,214000, min=63,488000, average=67,071333, max=69,897000}
28+
react: DoubleSummaryStatistics{count=3, sum=134,367000, min=37,969000, average=44,789000, max=53,312000}
29+
vidom: DoubleSummaryStatistics{count=3, sum=113,626000, min=30,829000, average=37,875333, max=49,343000}
30+
vue: DoubleSummaryStatistics{count=3, sum=123,589000, min=37,415000, average=41,196333, max=43,801000}
31+
select row:
32+
angular: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
33+
angular2: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
34+
aurelia: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
35+
ember/dist: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
36+
mithril: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
37+
ractive: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
38+
react: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
39+
vidom: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
40+
vue: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
41+
remove row:
42+
angular: DoubleSummaryStatistics{count=3, sum=356,195000, min=117,849000, average=118,731667, max=119,439000}
43+
angular2: DoubleSummaryStatistics{count=3, sum=519,293000, min=162,210000, average=173,097667, max=179,754000}
44+
aurelia: DoubleSummaryStatistics{count=3, sum=607,946000, min=173,316000, average=202,648667, max=239,566000}
45+
ember/dist: DoubleSummaryStatistics{count=3, sum=403,238000, min=131,101000, average=134,412667, max=140,346000}
46+
mithril: DoubleSummaryStatistics{count=3, sum=483,586000, min=158,400000, average=161,195333, max=163,619000}
47+
ractive: DoubleSummaryStatistics{count=3, sum=857,903000, min=278,419000, average=285,967667, max=296,807000}
48+
react: DoubleSummaryStatistics{count=3, sum=331,104000, min=105,914000, average=110,368000, max=115,045000}
49+
vidom: DoubleSummaryStatistics{count=3, sum=298,774000, min=96,382000, average=99,591333, max=103,024000}
50+
vue: DoubleSummaryStatistics{count=3, sum=310,150000, min=100,638000, average=103,383333, max=106,603000}

test-100000

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
create 1000 rows:
2+
angular: DoubleSummaryStatistics{count=3, sum=9151,694000, min=2934,526000, average=3050,564667, max=3159,037000}
3+
angular2: DoubleSummaryStatistics{count=3, sum=4657,964000, min=0,000000, average=1552,654667, max=2416,402000}
4+
aurelia: DoubleSummaryStatistics{count=3, sum=5850,444000, min=1889,378000, average=1950,148000, max=1987,215000}
5+
ember/dist: DoubleSummaryStatistics{count=3, sum=20631,806000, min=6435,515000, average=6877,268667, max=7340,198000}
6+
mithril: DoubleSummaryStatistics{count=3, sum=10380,943000, min=3293,171000, average=3460,314333, max=3550,968000}
7+
ractive: DoubleSummaryStatistics{count=3, sum=38313,476000, min=11963,567000, average=12771,158667, max=13253,607000}
8+
react: DoubleSummaryStatistics{count=3, sum=10156,700000, min=3352,581000, average=3385,566667, max=3406,812000}
9+
vidom: DoubleSummaryStatistics{count=3, sum=4405,263000, min=1458,801000, average=1468,421000, max=1481,502000}
10+
vue: DoubleSummaryStatistics{count=3, sum=9101,257000, min=2683,570000, average=3033,752333, max=3308,172000}
11+
update 1000 rows (hot):
12+
angular: DoubleSummaryStatistics{count=3, sum=13121,741000, min=4132,300000, average=4373,913667, max=4719,056000}
13+
angular2: DoubleSummaryStatistics{count=3, sum=6990,313000, min=2257,875000, average=2330,104333, max=2374,693000}
14+
aurelia: DoubleSummaryStatistics{count=3, sum=1707,240000, min=482,825000, average=569,080000, max=650,863000}
15+
ember/dist: DoubleSummaryStatistics{count=3, sum=22089,276000, min=7330,808000, average=7363,092000, max=7418,148000}
16+
mithril: DoubleSummaryStatistics{count=3, sum=11372,468000, min=3762,429000, average=3790,822667, max=3822,007000}
17+
ractive: DoubleSummaryStatistics{count=3, sum=9919,755000, min=3158,268000, average=3306,585000, max=3401,092000}
18+
react: DoubleSummaryStatistics{count=3, sum=10152,606000, min=3359,199000, average=3384,202000, max=3428,543000}
19+
vidom: DoubleSummaryStatistics{count=3, sum=5243,523000, min=1718,773000, average=1747,841000, max=1778,833000}
20+
vue: DoubleSummaryStatistics{count=3, sum=56190,244000, min=18223,833000, average=18730,081333, max=19264,635000}
21+
partial update:
22+
angular: DoubleSummaryStatistics{count=3, sum=1719,484000, min=536,299000, average=573,161333, max=618,396000}
23+
angular2: DoubleSummaryStatistics{count=3, sum=1418,821000, min=457,748000, average=472,940333, max=487,352000}
24+
aurelia: DoubleSummaryStatistics{count=3, sum=1411,004000, min=409,640000, average=470,334667, max=572,023000}
25+
ember/dist: DoubleSummaryStatistics{count=3, sum=6553,126000, min=2133,349000, average=2184,375333, max=2258,685000}
26+
mithril: DoubleSummaryStatistics{count=3, sum=2092,778000, min=686,833000, average=697,592667, max=709,714000}
27+
ractive: DoubleSummaryStatistics{count=3, sum=8583,634000, min=2777,143000, average=2861,211333, max=2939,273000}
28+
react: DoubleSummaryStatistics{count=3, sum=5131,954000, min=1698,259000, average=1710,651333, max=1731,354000}
29+
vidom: DoubleSummaryStatistics{count=3, sum=5316,296000, min=1722,881000, average=1772,098667, max=1801,536000}
30+
vue: DoubleSummaryStatistics{count=3, sum=1767,526000, min=533,997000, average=589,175333, max=624,174000}
31+
select row:
32+
angular: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
33+
angular2: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
34+
aurelia: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
35+
ember/dist: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
36+
mithril: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
37+
ractive: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
38+
react: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
39+
vidom: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
40+
vue: DoubleSummaryStatistics{count=3, sum=0,000000, min=0,000000, average=0,000000, max=0,000000}
41+
remove row:
42+
angular: DoubleSummaryStatistics{count=3, sum=2596,668000, min=849,300000, average=865,556000, max=878,282000}
43+
angular2: DoubleSummaryStatistics{count=3, sum=4576,231000, min=1495,105000, average=1525,410333, max=1563,890000}
44+
aurelia: DoubleSummaryStatistics{count=3, sum=3064,729000, min=935,477000, average=1021,576333, max=1117,944000}
45+
ember/dist: DoubleSummaryStatistics{count=3, sum=3259,197000, min=1078,269000, average=1086,399000, max=1097,468000}
46+
mithril: DoubleSummaryStatistics{count=3, sum=4349,782000, min=1429,165000, average=1449,927333, max=1470,674000}
47+
ractive: DoubleSummaryStatistics{count=3, sum=33976,640000, min=10156,253000, average=11325,546667, max=13080,051000}
48+
react: DoubleSummaryStatistics{count=3, sum=2491,414000, min=821,251000, average=830,471333, max=841,086000}
49+
vidom: DoubleSummaryStatistics{count=3, sum=2448,574000, min=793,737000, average=816,191333, max=831,894000}
50+
vue: DoubleSummaryStatistics{count=3, sum=2474,440000, min=819,058000, average=824,813333, max=831,340000}

vidom/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"devDependencies": {
2121
"babel-core": "^6.4.0",
2222
"babel-loader": "^6.2.1",
23+
"babel-plugin-inferno": "^0.2.11",
24+
"babel-plugin-syntax-jsx": "^6.3.13",
2325
"babel-plugin-vidom-jsx": "^0.1.2",
2426
"babel-preset-es2015": "^6.3.13",
2527
"babel-preset-stage-0": "^6.3.13",

0 commit comments

Comments
 (0)