@@ -30,43 +30,34 @@ and languages, such as Erlang's natural clustering and hot-swap capabilities.
30
30
[ echo ] : http://wiki.nginx.org/HttpEchoModule
31
31
[ resty ] : http://openresty.org
32
32
[ iron ] : http://ironframework.io
33
- [ pull ] : https://github.com/Araq/Nim/pull/2244
34
33
35
34
| Language | Framework | Req/sec<sup >1</sup > | MB/sec| 99% ms<sup >2</sup >|
36
35
| ------------ | ---------------------------------- | --------:| ----:| ------:|
37
36
| Java | [ Undertow] [ undertow ] | 73 931 | 9.66 | 1.73 |
38
- | Nim * M&S/PR * <sup >3</sup > | [ AsyncHTTPServer] [ nim ] | 68 434 | 4.89 | 2.49 |
37
+ | Nim * M&S* <sup >3</sup > | [ AsyncHTTPServer] [ nim ] | 67 034 | 4.79 | 2.57 |
39
38
| Native/C | [ Nginx] [ echo ] <sup >4</sup > | 61 568 | 6.98 | 3.54 |
40
39
| Java | [ Netty] [ netty ] | 61 406 | 5.86 | 3.12 |
41
40
| Go | [ net/http] [ go ] | 61 150 | 7.76 | 7.83 |
42
41
| C | [ Onion] [ onion ] <sup >5</sup > | 52 430 | 9.20 | 2.21 |
43
- | Nim * M&S* <sup >6</sup > | [ AsyncHTTPServer] [ nim ] | 50 940 | 3.64 | 3.08 |
44
- | Rust | [ Iron] [ iron ] | 48 577 | 5.28 | 0.44<sup >7</sup > |
45
- | Nim * PR* <sup >8</sup > | [ AsyncHTTPServer] [ nim ] | 47 696 | 3.41 | 7.09 |
46
- | Lua | [ OpenResty] [ resty ] <sup >9</sup > | 46 529 | 5.23 | 268.97<sup >10</sup > |
42
+ | Rust | [ Iron] [ iron ] | 48 577 | 5.28 | 0.44<sup >6</sup > |
43
+ | Nim<sup >7</sup > | [ AsyncHTTPServer] [ nim ] | 47 880 | 3.42 | 7.23 |
44
+ | Lua | [ OpenResty] [ resty ] <sup >8</sup > | 46 529 | 5.23 | 268.97<sup >9</sup > |
47
45
| Erlang | [ Cowboy] [ cowboy ] | 30 822 | 2.97 | 20.16 |
48
- | Nim<sup >11</sup > | [ AsyncHTTPServer] [ nim ] | 29 866 | 2.14 | 9.43 |
49
- | Ruby | [ Puma] [ puma ] <sup >12</sup > | 26 343 | 1.91 | 103.98 |
46
+ | Ruby | [ Puma] [ puma ] <sup >10</sup > | 26 343 | 1.91 | 103.98 |
50
47
51
48
<sup >1</sup > * OSX 10.10.3* , * Intel Core i5-2400S* 2.50GHz, 16 GB RAM
52
49
<sup >2</sup > latency distribution value at 99% in milliseconds (towards worst)
53
50
54
- <sup >3</sup > * Nim* patched with [ following pull request] [ pull ] ,
55
- using ` --gc:markandsweep ` , single-thread only.
51
+ <sup >3</sup > * Nim* using ` --gc:markandsweep ` , single-thread only.
56
52
<sup >4</sup > Using ` echo ` module.
57
53
<sup >5</sup > Running ` hello ` example with ` static ` path.
58
- <sup >6</sup > * Nim* standard implementation,
59
- using ` --gc:markandsweep ` , single-thread only.
60
- <sup >7</sup > * Rust* * Iron* has some amazing super-stable latency
54
+ <sup >6</sup > * Rust* * Iron* has some amazing super-stable latency
61
55
in longer runs.
62
- <sup >8</sup > * Nim* patched with [ following pull request] [ pull ] ,
63
- default RC GC, single-thread only.
64
- <sup >9</sup > * OpenResty* is in fact * Nginx* with * Lua* module.
65
- <sup >10</sup > There seem to be a problem with * Nginx* /* OpenResty* , after longer
56
+ <sup >7</sup > * Nim* using standard RC garbage collection, single-thread only.
57
+ <sup >8</sup > * OpenResty* is in fact * Nginx* with * Lua* module.
58
+ <sup >9</sup > There seem to be a problem with * Nginx* /* OpenResty* , after longer
66
59
run latency goes up.
67
- <sup >11</sup > * Nim* standard implementation,
68
- default RC GC, single-thread only.
69
- <sup >12</sup > Using several * Ruby* instances with ` puma -w 4 ` .
60
+ <sup >10</sup > Using several * Ruby* instances with ` puma -w 4 ` .
70
61
71
62
** NOTE** : Detailed results can be found in [ ` results/ ` ] ( results ) .
72
63
0 commit comments