You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a simple benchmark for several javascript frameworks. The benchmarks creates a large table with randomized entries and measures the time for various operations.
4
+
5
+
This work is derived from a benchmark that Richard Ayotte published on https://gist.github.com/RichAyotte/a7b8780341d5e75beca7 and adds more framework and more operations.
6
+
7
+
It's also uses the work of ShMcK Framework-Performance-Tests-with-Meteor who put Protractor and BenchPress wonderfully to work.
8
+
9
+
Thanks to both for their great work.
10
+
11
+
## Prerequsites
12
+
13
+
Have node.js installed. If you want to do yourself a favour use nvm for that. The benchmark has been tested with node 5.1+.
14
+
15
+
## Building
16
+
17
+
`npm install`
18
+
`npm run build`
19
+
The latter calls npm build-prod in each subproject.
20
+
21
+
## Running in the browser
22
+
23
+
Execute `npm start` to start a http-server for the web pages.
24
+
Open [http://localhost:8080](http://localhost:8080/) and choose the directory for the framework you want to test
25
+
26
+
## Execute the benchmarks with protractor and benchpress
27
+
28
+
`npm start`
29
+
30
+
`cd tests`
31
+
`npm run webdriver-manager`
32
+
open a new shell in the tests directory
33
+
`npm run protractor`
34
+
35
+
Open [http://localhost:8080/tests/chart.html](http://localhost:8080/tests/chart.html) for the results
36
+
37
+
## About the benchmarks
38
+
39
+
* page load & create 1000 rows: Time for page load and creating 1000 rows.
40
+
* create 1000 rows: Measures the time for creating 1000 rows, but after the page was loaded.
41
+
* update 1000 rows: Time to replace all 1000 rows with new rows. It performs a few invocations as a warmup and measures the the time to replace the rows.
42
+
* 10 x add 10 rows: Time for adding a few items. It measures the time to add 10 times 10 rows.
43
+
* partial update: Time for a partial update. Appends a dot to the text of every 10th row and keeps the other rows unchanged.
44
+
* select 10 rows: Measures the time to click the first ten rows one after the other. Each row is highlighted when clicked.
45
+
* remove 10 rows: Measures the time to remove the first ten rows one after the other.
0 commit comments