Skip to content

Commit e08ec2d

Browse files
committed
Update for Nim 0.11
1 parent 664514e commit e08ec2d

25 files changed

+115
-228
lines changed

README.md

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,43 +30,34 @@ and languages, such as Erlang's natural clustering and hot-swap capabilities.
3030
[echo]: http://wiki.nginx.org/HttpEchoModule
3131
[resty]: http://openresty.org
3232
[iron]: http://ironframework.io
33-
[pull]: https://github.com/Araq/Nim/pull/2244
3433

3534
| Language | Framework | Req/sec<sup>1</sup> |MB/sec| 99% ms<sup>2</sup>|
3635
| ------------ | ---------------------------------- | --------:| ----:| ------:|
3736
| 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 |
3938
| Native/C | [Nginx][echo]<sup>4</sup> | 61 568 | 6.98 | 3.54 |
4039
| Java | [Netty][netty] | 61 406 | 5.86 | 3.12 |
4140
| Go | [net/http][go] | 61 150 | 7.76 | 7.83 |
4241
| 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> |
4745
| 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 |
5047

5148
<sup>1</sup> *OSX 10.10.3*, *Intel Core i5-2400S* 2.50GHz, 16 GB RAM
5249
<sup>2</sup> latency distribution value at 99% in milliseconds (towards worst)
5350

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.
5652
<sup>4</sup> Using `echo` module.
5753
<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
6155
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
6659
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`.
7061

7162
**NOTE**: Detailed results can be found in [`results/`](results).
7263

results/nim_mnsgc_01.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Running 20s test @ http://localhost:8080/
2+
4 threads and 100 connections
3+
Thread Stats Avg Stdev Max +/- Stdev
4+
Latency 1.49ms 494.65us 41.30ms 91.71%
5+
Req/Sec 16.82k 1.89k 19.35k 63.43%
6+
Latency Distribution
7+
50% 1.30ms
8+
75% 1.82ms
9+
90% 1.96ms
10+
99% 2.60ms
11+
1345604 requests in 20.10s, 96.25MB read
12+
Requests/sec: 66938.12
13+
Transfer/sec: 4.79MB

results/nim_mnsgc_02.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Running 20s test @ http://localhost:8080/
2+
4 threads and 100 connections
3+
Thread Stats Avg Stdev Max +/- Stdev
4+
Latency 1.49ms 385.48us 24.49ms 83.25%
5+
Req/Sec 16.85k 2.19k 19.48k 71.12%
6+
Latency Distribution
7+
50% 1.30ms
8+
75% 1.79ms
9+
90% 1.94ms
10+
99% 2.57ms
11+
1340786 requests in 20.00s, 95.90MB read
12+
Requests/sec: 67034.16
13+
Transfer/sec: 4.79MB

results/nim_mnsgc_03.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Running 20s test @ http://localhost:8080/
2+
4 threads and 100 connections
3+
Thread Stats Avg Stdev Max +/- Stdev
4+
Latency 1.50ms 475.11us 38.29ms 90.77%
5+
Req/Sec 16.79k 0.96k 18.50k 65.80%
6+
Latency Distribution
7+
50% 1.31ms
8+
75% 1.78ms
9+
90% 1.95ms
10+
99% 2.58ms
11+
1343504 requests in 20.10s, 96.09MB read
12+
Requests/sec: 66838.70
13+
Transfer/sec: 4.78MB

results/nim_mnsgc_04.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Running 20s test @ http://localhost:8080/
2+
4 threads and 100 connections
3+
Thread Stats Avg Stdev Max +/- Stdev
4+
Latency 1.50ms 397.87us 25.00ms 83.25%
5+
Req/Sec 16.77k 2.15k 23.48k 70.11%
6+
Latency Distribution
7+
50% 1.31ms
8+
75% 1.79ms
9+
90% 1.96ms
10+
99% 2.60ms
11+
1339712 requests in 20.10s, 95.82MB read
12+
Requests/sec: 66651.30
13+
Transfer/sec: 4.77MB

results/nim_pr_mnsgc_01.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

results/nim_pr_mnsgc_02.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

results/nim_pr_mnsgc_03.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

results/nim_pr_mnsgc_04.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

results/nim_pr_rc_01.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)