Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Little benchmark rs-futures vs lwan (https://lwan.ws) on my machine Core i5

futures-minihttp(singlethread):

  $ wrk -c 100 -t 2 -d 20 http://127.0.0.1:8080/plaintext
  Running 20s test @ http://127.0.0.1:8080/plaintext
    2 threads and 100 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency   823.09us  449.37us  20.98ms   98.69%
      Req/Sec    62.15k    10.51k  105.24k    48.63%
    2479035 requests in 20.10s, 340.44MB read
  Requests/sec: 123335.77
  Transfer/sec:     16.94MB
lwan(singlethread):

  $ wrk -c 100 -t 2 -d 20 http://127.0.0.1:8080/
  Running 20s test @ http://127.0.0.1:8080/
    2 threads and 100 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency   596.45us  573.31us  24.46ms   99.33%
      Req/Sec    86.17k    13.15k  119.71k    76.00%
    3429720 requests in 20.01s, 624.73MB read
  Requests/sec: 171404.15
  Transfer/sec:     31.22MB
For lwan i use http server example from lwan.ws main page.

As you can see in this example C http server much faster than simple http Rust server.

* futures-minihttp release build

* lwan -O3



On Reddit [1], Alex mentioned that the single-thread case was not optimized (yet). What do the numbers for multi-threading look like?

[1]: http://reddit.com/r/rust/comments/4x8jqt/zerocost_futures_in...


futures-minihttp(2 threads):

  $ wrk -c 100 -t 2 -d 20 http://127.0.0.1:8080/plaintext
  Running 20s test @ http://127.0.0.1:8080/plaintext
    2 threads and 100 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency   633.87us  808.22us  24.66ms   98.41%
      Req/Sec    86.72k     4.84k   94.90k    85.75%
    3452383 requests in 20.01s, 424.73MB read
  Requests/sec: 172546.21
  Transfer/sec:     21.23MB

lwan(2 threads):

  $ wrk -c 100 -t 2 -d 20 http://127.0.0.1:8080/
  Running 20s test @ http://127.0.0.1:8080/
    2 threads and 100 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency   375.26us  618.54us  20.60ms   98.21%
      Req/Sec   116.82k     5.56k  124.07k    92.25%
    4647906 requests in 20.00s, 846.62MB read
  Requests/sec: 232339.90
  Transfer/sec:     42.32MB


But for me, this difference is nothing, because on Rust we can write safe and fast close to metal code. I think Rust is the greatest modern system programming language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: