david 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -136,13 +136,13 @@ entries that can be read from your Rack application if necessary.
136
136
 
137
137
  ## Benchmarks
138
138
 
139
- David handles about 11.000 requests per second (tested in MRI 2.2.0 with up to
140
- 10.000 concurrent clients on a single core of a Core i7-3520M CPU running Linux
141
- 3.18.5).
139
+ David handles about 12,500 requests per second in MRI and 14,000 in JRuby
140
+ (tested in MRI 2.3.0 and JRuby 1.7.19 with up to 10,000 concurrent clients on a
141
+ single core of a Core i7-3520M CPU running Linux 3.18.6).
142
142
 
143
143
  ## Copyright
144
144
 
145
- The code is published under the GPLv3 license (see the LICENSE file).
145
+ The code is published under the MIT license (see the LICENSE file).
146
146
 
147
147
  ### Authors
148
148
 
data/TODO.md CHANGED
@@ -46,16 +46,9 @@ More detailed CoAP implementation
46
46
 
47
47
  ### Examples for missing or unsufficient features:
48
48
 
49
- * Message Deduplication (4.5.)
50
49
  * Transmission Parameters (4.8.)
51
- * Request/Response Matching (5.3.2.) (became transparent in connection to
52
- observe transmissions)
53
- * "For a new Confirmable message, the initial timeout is set to a random
54
- duration (often not an integral number of seconds) between ACK_TIMEOUT and
55
- (ACK_TIMEOUT * ACK_RANDOM_FACTOR) (see Section 4.8)"
56
50
  * Validation of ETag (conditional requests)
57
51
  * Request validations and error responses
58
- * Follow redirects
59
52
 
60
53
 
61
54
  Non-blocking I/O
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,8815.0
3
- 20.0,0.0,10892.33333
4
- 30.0,0.0,12250.0
5
- 40.0,0.0,12796.33333
6
- 50.0,0.0,13014.33333
7
- 60.0,0.0,13099.66667
8
- 70.0,0.0,13386.33333
9
- 80.0,0.0,13409.0
10
- 90.0,0.0,13471.0
11
- 100.0,0.0,13588.66667
12
- 200.0,0.0,13875.33333
13
- 300.0,0.01055,13905.0
14
- 400.0,0.05861,13876.66667
15
- 500.0,0.10786,13721.0
16
- 600.0,0.17011,13970.66667
17
- 700.0,0.24956,13926.0
18
- 800.0,0.30426,13821.66667
19
- 900.0,0.3781,14011.0
20
- 1000.0,0.47965,13854.33333
21
- 2000.0,1.18875,13871.33333
22
- 3000.0,1.89677,13986.66667
23
- 4000.0,2.6085,13976.33333
24
- 5000.0,3.30927,14127.33333
25
- 6000.0,4.05932,13946.0
26
- 7000.0,4.7129,14047.0
27
- 8000.0,5.42063,14117.66667
28
- 9000.0,6.18359,13997.0
29
- 10000.0,6.83943,14152.33333
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,8815.0,103.1633
3
+ 20.0,0.0,10892.33333,435.57268
4
+ 30.0,0.0,12250.0,68.70711
5
+ 40.0,0.0,12796.33333,136.27505
6
+ 50.0,0.0,13014.33333,112.29821
7
+ 60.0,0.0,13099.66667,143.35581
8
+ 70.0,0.0,13386.33333,92.57189
9
+ 80.0,0.0,13409.0,75.74959
10
+ 90.0,0.0,13471.0,120.27746
11
+ 100.0,0.0,13588.66667,63.56274
12
+ 200.0,0.0,13875.33333,56.54693
13
+ 300.0,0.01055,13905.0,39.67367
14
+ 400.0,0.05861,13876.66667,162.69672
15
+ 500.0,0.10786,13721.0,110.64357
16
+ 600.0,0.17011,13970.66667,20.49932
17
+ 700.0,0.24956,13926.0,37.53221
18
+ 800.0,0.30426,13821.66667,75.59688
19
+ 900.0,0.3781,14011.0,32.12476
20
+ 1000.0,0.47965,13854.33333,46.14711
21
+ 2000.0,1.18875,13871.33333,128.73055
22
+ 3000.0,1.89677,13986.66667,77.92874
23
+ 4000.0,2.6085,13976.33333,90.82706
24
+ 5000.0,3.30927,14127.33333,100.88387
25
+ 6000.0,4.05932,13946.0,192.7226
26
+ 7000.0,4.7129,14047.0,118.80516
27
+ 8000.0,5.42063,14117.66667,119.97315
28
+ 9000.0,6.18359,13997.0,93.62692
29
+ 10000.0,6.83943,14152.33333,79.93887
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,2381.33333
3
- 20.0,0.0,4493.0
4
- 30.0,0.0,5627.66667
5
- 40.0,0.0,6252.0
6
- 50.0,0.0,7016.66667
7
- 60.0,0.0,7683.66667
8
- 70.0,0.0,8086.33333
9
- 80.0,0.0,8346.0
10
- 90.0,0.0,8681.0
11
- 100.0,0.0,9048.33333
12
- 200.0,0.0,10374.33333
13
- 300.0,0.01423,10304.66667
14
- 400.0,0.07869,10335.66667
15
- 500.0,0.1446,10242.0
16
- 600.0,0.22004,10386.66667
17
- 700.0,0.30472,10282.0
18
- 800.0,0.42972,10373.33333
19
- 900.0,0.53255,10377.0
20
- 1000.0,0.61002,10460.0
21
- 2000.0,1.56891,10410.0
22
- 3000.0,2.52571,10377.0
23
- 4000.0,3.52706,10326.66667
24
- 5000.0,4.50624,10359.66667
25
- 6000.0,5.35553,10524.66667
26
- 7000.0,6.37579,10378.0
27
- 8000.0,7.27164,10526.66667
28
- 9000.0,7.97817,10897.33333
29
- 10000.0,8.68828,11087.0
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,2381.33333,100.31395
3
+ 20.0,0.0,4493.0,12.83225
4
+ 30.0,0.0,5627.66667,58.94819
5
+ 40.0,0.0,6252.0,48.92852
6
+ 50.0,0.0,7016.66667,76.94298
7
+ 60.0,0.0,7683.66667,38.90444
8
+ 70.0,0.0,8086.33333,50.67763
9
+ 80.0,0.0,8346.0,22.64214
10
+ 90.0,0.0,8681.0,182.04578
11
+ 100.0,0.0,9048.33333,76.63043
12
+ 200.0,0.0,10374.33333,138.40601
13
+ 300.0,0.01423,10304.66667,53.27497
14
+ 400.0,0.07869,10335.66667,107.22666
15
+ 500.0,0.1446,10242.0,71.90735
16
+ 600.0,0.22004,10386.66667,82.09074
17
+ 700.0,0.30472,10282.0,29.79933
18
+ 800.0,0.42972,10373.33333,94.52454
19
+ 900.0,0.53255,10377.0,60.51446
20
+ 1000.0,0.61002,10460.0,104.61676
21
+ 2000.0,1.56891,10410.0,62.03225
22
+ 3000.0,2.52571,10377.0,48.92852
23
+ 4000.0,3.52706,10326.66667,44.21413
24
+ 5000.0,4.50624,10359.66667,65.74868
25
+ 6000.0,5.35553,10524.66667,64.9735
26
+ 7000.0,6.37579,10378.0,99.40825
27
+ 8000.0,7.27164,10526.66667,75.23002
28
+ 9000.0,7.97817,10897.33333,392.76484
29
+ 10000.0,8.68828,11087.0,83.79737
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,7398.66667
3
- 20.0,0.0,9447.0
4
- 30.0,0.0,10468.66667
5
- 40.0,0.0,10760.33333
6
- 50.0,0.0,11018.0
7
- 60.0,0.0,11029.0
8
- 70.0,0.0,11090.33333
9
- 80.0,0.0,11249.33333
10
- 90.0,0.0,11388.0
11
- 100.0,0.0,11439.0
12
- 200.0,0.0,11522.0
13
- 300.0,0.01263,11611.0
14
- 400.0,0.0707,11722.66667
15
- 500.0,0.13411,11764.0
16
- 600.0,0.20014,11624.66667
17
- 700.0,0.28316,11669.0
18
- 800.0,0.34738,11734.66667
19
- 900.0,0.43741,11797.66667
20
- 1000.0,0.55793,11630.0
21
- 2000.0,1.42399,11704.0
22
- 3000.0,2.29497,11525.33333
23
- 4000.0,3.1387,11608.66667
24
- 5000.0,3.95165,11793.0
25
- 6000.0,4.81369,11740.0
26
- 7000.0,5.62425,11846.33333
27
- 8000.0,6.47804,11873.33333
28
- 9000.0,7.41864,11678.66667
29
- 10000.0,8.15429,11881.33333
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,7398.66667,75.46449
3
+ 20.0,0.0,9447.0,578.7475
4
+ 30.0,0.0,10468.66667,122.37193
5
+ 40.0,0.0,10760.33333,33.87559
6
+ 50.0,0.0,11018.0,64.7508
7
+ 60.0,0.0,11029.0,57.43402
8
+ 70.0,0.0,11090.33333,120.94719
9
+ 80.0,0.0,11249.33333,80.40039
10
+ 90.0,0.0,11388.0,54.35685
11
+ 100.0,0.0,11439.0,61.64414
12
+ 200.0,0.0,11522.0,6.68331
13
+ 300.0,0.01263,11611.0,119.71912
14
+ 400.0,0.0707,11722.66667,75.3053
15
+ 500.0,0.13411,11764.0,48.04859
16
+ 600.0,0.20014,11624.66667,79.62551
17
+ 700.0,0.28316,11669.0,137.18843
18
+ 800.0,0.34738,11734.66667,12.91855
19
+ 900.0,0.43741,11797.66667,52.49974
20
+ 1000.0,0.55793,11630.0,77.07572
21
+ 2000.0,1.42399,11704.0,58.29237
22
+ 3000.0,2.29497,11525.33333,40.18568
23
+ 4000.0,3.1387,11608.66667,146.84762
24
+ 5000.0,3.95165,11793.0,39.50527
25
+ 6000.0,4.81369,11740.0,108.89751
26
+ 7000.0,5.62425,11846.33333,38.853
27
+ 8000.0,6.47804,11873.33333,97.12306
28
+ 9000.0,7.41864,11678.66667,64.83483
29
+ 10000.0,8.15429,11881.33333,140.11741
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,1898.0
3
- 20.0,0.0,3671.33333
4
- 30.0,0.0,4611.0
5
- 40.0,0.0,5441.33333
6
- 50.0,0.0,6057.0
7
- 60.0,0.0,6521.66667
8
- 70.0,0.0,6727.33333
9
- 80.0,0.0,7102.33333
10
- 90.0,0.0,7346.66667
11
- 100.0,0.0,7576.66667
12
- 200.0,0.0,8743.0
13
- 300.0,0.01695,8654.0
14
- 400.0,0.09348,8700.33333
15
- 500.0,0.17188,8616.33333
16
- 600.0,0.26859,8624.66667
17
- 700.0,0.37221,8638.33333
18
- 800.0,0.49335,8636.66667
19
- 900.0,0.63501,8652.0
20
- 1000.0,0.72363,8661.0
21
- 2000.0,1.87251,8600.66667
22
- 3000.0,3.05652,8667.0
23
- 4000.0,4.19376,8708.33333
24
- 5000.0,5.21177,8938.0
25
- 6000.0,6.5111,8707.66667
26
- 7000.0,7.5681,8788.33333
27
- 8000.0,8.77693,8719.66667
28
- 9000.0,9.64561,8970.0
29
- 10000.0,10.60239,9131.33333
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,1898.0,74.16648
3
+ 20.0,0.0,3671.33333,81.22944
4
+ 30.0,0.0,4611.0,47.3075
5
+ 40.0,0.0,5441.33333,30.8689
6
+ 50.0,0.0,6057.0,48.46304
7
+ 60.0,0.0,6521.66667,42.39759
8
+ 70.0,0.0,6727.33333,6.94422
9
+ 80.0,0.0,7102.33333,83.00335
10
+ 90.0,0.0,7346.66667,118.99673
11
+ 100.0,0.0,7576.66667,11.08553
12
+ 200.0,0.0,8743.0,115.7958
13
+ 300.0,0.01695,8654.0,52.00641
14
+ 400.0,0.09348,8700.33333,83.29199
15
+ 500.0,0.17188,8616.33333,116.51705
16
+ 600.0,0.26859,8624.66667,58.21989
17
+ 700.0,0.37221,8638.33333,79.87212
18
+ 800.0,0.49335,8636.66667,44.45472
19
+ 900.0,0.63501,8652.0,34.21501
20
+ 1000.0,0.72363,8661.0,29.70971
21
+ 2000.0,1.87251,8600.66667,81.55707
22
+ 3000.0,3.05652,8667.0,83.09432
23
+ 4000.0,4.19376,8708.33333,50.76307
24
+ 5000.0,5.21177,8938.0,302.00662
25
+ 6000.0,6.5111,8707.66667,15.19503
26
+ 7000.0,7.5681,8788.33333,56.4171
27
+ 8000.0,8.77693,8719.66667,92.67266
28
+ 9000.0,9.64561,8970.0,332.22884
29
+ 10000.0,10.60239,9131.33333,217.07346
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,10254.0
3
- 20.0,0.0,10904.33333
4
- 30.0,0.0,11079.66667
5
- 40.0,0.0,11123.33333
6
- 50.0,0.0,11260.0
7
- 60.0,0.0,11301.0
8
- 70.0,0.0,11320.33333
9
- 80.0,0.0,11355.66667
10
- 90.0,0.0,11378.66667
11
- 100.0,0.0,11326.33333
12
- 200.0,0.0,11411.0
13
- 300.0,0.01282,11443.33333
14
- 400.0,0.07087,11476.33333
15
- 500.0,0.13263,11367.33333
16
- 600.0,0.19729,11410.0
17
- 700.0,0.28569,11394.66667
18
- 800.0,0.3809,11440.33333
19
- 900.0,0.44546,11370.66667
20
- 1000.0,0.57215,11348.66667
21
- 2000.0,1.41383,11396.0
22
- 3000.0,2.36996,11165.66667
23
- 4000.0,3.20951,11395.66667
24
- 5000.0,4.09396,11350.66667
25
- 6000.0,4.95657,11447.33333
26
- 7000.0,5.84745,11364.33333
27
- 8000.0,6.68096,11448.66667
28
- 9000.0,7.65066,11368.33333
29
- 10000.0,8.4629,11450.0
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,10254.0,55.14224
3
+ 20.0,0.0,10904.33333,1.69967
4
+ 30.0,0.0,11079.66667,59.23025
5
+ 40.0,0.0,11123.33333,71.65814
6
+ 50.0,0.0,11260.0,61.97311
7
+ 60.0,0.0,11301.0,23.15167
8
+ 70.0,0.0,11320.33333,23.4426
9
+ 80.0,0.0,11355.66667,26.94851
10
+ 90.0,0.0,11378.66667,33.88543
11
+ 100.0,0.0,11326.33333,58.25423
12
+ 200.0,0.0,11411.0,77.08437
13
+ 300.0,0.01282,11443.33333,69.58129
14
+ 400.0,0.07087,11476.33333,82.72579
15
+ 500.0,0.13263,11367.33333,68.8299
16
+ 600.0,0.19729,11410.0,63.54526
17
+ 700.0,0.28569,11394.66667,55.95435
18
+ 800.0,0.3809,11440.33333,12.71045
19
+ 900.0,0.44546,11370.66667,79.33193
20
+ 1000.0,0.57215,11348.66667,30.26916
21
+ 2000.0,1.41383,11396.0,18.45716
22
+ 3000.0,2.36996,11165.66667,45.82818
23
+ 4000.0,3.20951,11395.66667,65.83987
24
+ 5000.0,4.09396,11350.66667,67.01907
25
+ 6000.0,4.95657,11447.33333,84.48011
26
+ 7000.0,5.84745,11364.33333,85.42183
27
+ 8000.0,6.68096,11448.66667,25.22345
28
+ 9000.0,7.65066,11368.33333,80.90049
29
+ 10000.0,8.4629,11450.0,56.78028
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,4956.66667
3
- 20.0,0.0,5847.0
4
- 30.0,0.0,7632.33333
5
- 40.0,0.0,8040.0
6
- 50.0,0.0,8306.0
7
- 60.0,0.0,8658.66667
8
- 70.0,0.0,8935.0
9
- 80.0,0.0,9145.0
10
- 90.0,0.0,9139.33333
11
- 100.0,0.0,9264.66667
12
- 200.0,0.0,9946.0
13
- 300.0,0.01472,9964.66667
14
- 400.0,0.0822,9894.33333
15
- 500.0,0.14874,9949.66667
16
- 600.0,0.24766,10031.0
17
- 700.0,0.33138,9991.33333
18
- 800.0,0.43305,10008.66667
19
- 900.0,0.54896,9955.66667
20
- 1000.0,0.66531,9949.33333
21
- 2000.0,1.6203,10003.66667
22
- 3000.0,2.64236,9864.33333
23
- 4000.0,3.697,9928.33333
24
- 5000.0,4.60777,9979.33333
25
- 6000.0,5.7074,9950.66667
26
- 7000.0,6.64438,9993.33333
27
- 8000.0,7.80497,9799.33333
28
- 9000.0,8.62443,10046.66667
29
- 10000.0,9.3513,10335.0
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,4956.66667,190.01988
3
+ 20.0,0.0,5847.0,112.17843
4
+ 30.0,0.0,7632.33333,17.51824
5
+ 40.0,0.0,8040.0,75.68796
6
+ 50.0,0.0,8306.0,20.83267
7
+ 60.0,0.0,8658.66667,22.48456
8
+ 70.0,0.0,8935.0,125.23844
9
+ 80.0,0.0,9145.0,40.99593
10
+ 90.0,0.0,9139.33333,71.21017
11
+ 100.0,0.0,9264.66667,24.07396
12
+ 200.0,0.0,9946.0,250.28917
13
+ 300.0,0.01472,9964.66667,65.48961
14
+ 400.0,0.0822,9894.33333,154.54305
15
+ 500.0,0.14874,9949.66667,147.60382
16
+ 600.0,0.24766,10031.0,32.93428
17
+ 700.0,0.33138,9991.33333,67.64778
18
+ 800.0,0.43305,10008.66667,80.37551
19
+ 900.0,0.54896,9955.66667,47.95368
20
+ 1000.0,0.66531,9949.33333,161.87718
21
+ 2000.0,1.6203,10003.66667,66.95936
22
+ 3000.0,2.64236,9864.33333,63.88705
23
+ 4000.0,3.697,9928.33333,65.18862
24
+ 5000.0,4.60777,9979.33333,67.46028
25
+ 6000.0,5.7074,9950.66667,43.14575
26
+ 7000.0,6.64438,9993.33333,18.92676
27
+ 8000.0,7.80497,9799.33333,125.27392
28
+ 9000.0,8.62443,10046.66667,198.85059
29
+ 10000.0,9.3513,10335.0,115.95114
@@ -1,29 +1,29 @@
1
- concurrent,loss,throughput
2
- 10.0,0.0,10935.66667
3
- 20.0,0.0,11728.0
4
- 30.0,0.0,12033.33333
5
- 40.0,0.0,12294.33333
6
- 50.0,0.0,12314.66667
7
- 60.0,0.0,12309.33333
8
- 70.0,0.0,12327.33333
9
- 80.0,0.0,12365.0
10
- 90.0,0.0,12394.0
11
- 100.0,0.0,12384.66667
12
- 200.0,0.0,12466.66667
13
- 300.0,0.01167,12569.33333
14
- 400.0,0.06434,12641.33333
15
- 500.0,0.11764,12590.0
16
- 600.0,0.20462,12586.0
17
- 700.0,0.2739,12551.0
18
- 800.0,0.32555,12549.0
19
- 900.0,0.44781,12507.0
20
- 1000.0,0.53118,12633.66667
21
- 2000.0,1.30825,12542.0
22
- 3000.0,2.11439,12529.0
23
- 4000.0,2.92541,12527.66667
24
- 5000.0,3.70095,12597.0
25
- 6000.0,4.50835,12547.33333
26
- 7000.0,5.28881,12591.33333
27
- 8000.0,6.08858,12577.66667
28
- 9000.0,6.92192,12493.33333
29
- 10000.0,7.63077,12713.0
1
+ concurrent,loss,throughput,sd
2
+ 10.0,0.0,10935.66667,128.86255
3
+ 20.0,0.0,11728.0,54.85131
4
+ 30.0,0.0,12033.33333,50.69078
5
+ 40.0,0.0,12294.33333,37.93269
6
+ 50.0,0.0,12314.66667,28.76727
7
+ 60.0,0.0,12309.33333,52.1046
8
+ 70.0,0.0,12327.33333,18.40894
9
+ 80.0,0.0,12365.0,44.5496
10
+ 90.0,0.0,12394.0,6.97615
11
+ 100.0,0.0,12384.66667,30.65217
12
+ 200.0,0.0,12466.66667,31.79448
13
+ 300.0,0.01167,12569.33333,39.51652
14
+ 400.0,0.06434,12641.33333,48.60956
15
+ 500.0,0.11764,12590.0,16.26858
16
+ 600.0,0.20462,12586.0,48.68949
17
+ 700.0,0.2739,12551.0,15.29706
18
+ 800.0,0.32555,12549.0,13.49074
19
+ 900.0,0.44781,12507.0,81.07198
20
+ 1000.0,0.53118,12633.66667,33.40991
21
+ 2000.0,1.30825,12542.0,69.10861
22
+ 3000.0,2.11439,12529.0,36.88722
23
+ 4000.0,2.92541,12527.66667,58.36856
24
+ 5000.0,3.70095,12597.0,39.09817
25
+ 6000.0,4.50835,12547.33333,17.55626
26
+ 7000.0,5.28881,12591.33333,26.0299
27
+ 8000.0,6.08858,12577.66667,17.98765
28
+ 9000.0,6.92192,12493.33333,11.2645
29
+ 10000.0,7.63077,12713.0,96.70919