www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - DLang and Golang web framework =?UTF-8?B?YmVuY2htYXJrc++8gQ==?=

reply zoujiaqing <zoujiaqing gmail.com> writes:
Yesterday I tested the latest version of Fasthttp and Archttp 
performance. (In my Debian virtual machine.)


  * Archttp :8080
  * Fasthttp :8081


  * LDC 1.27
  * Golang 1.18


Archttp:
```D
import archttp;

void main(string[] args)
{
     Archttp app = new Archttp;

     app.Bind(8080);

     app.Get("/", (context) {
         auto response = context.response();
         response.body("Hello, World!");
     });

     app.Run();
}

```

Fasthttp:
```go
package main

import (
     "fmt"
     "github.com/buaazp/fasthttprouter"
     "github.com/valyala/fasthttp"
)

func Index(ctx *fasthttp.RequestCtx) {
     fmt.Fprint(ctx, "Hello world .)")
}

func main() {
     router := fasthttprouter.New()
     router.GET("/", Index)
     fasthttp.ListenAndServe(":8081", router.Handler)
}
```


```txt
Last login: Sat May 14 14:05:58 on ttys012
zoujiaqing mac ~ % wrk -t8 -c100 -d5s --latency 
http://192.168.119.128:8081
Running 5s test   http://192.168.119.128:8081
   8 threads and 100 connections
   Thread Stats   Avg      Stdev     Max   +/- Stdev
     Latency     4.59ms  583.21us  11.55ms   74.52%
     Req/Sec     2.62k   108.28     2.81k    77.45%
   Latency Distribution
      50%    4.53ms
      75%    4.90ms
      90%    5.30ms
      99%    6.17ms
   106510 requests in 5.10s, 15.13MB read
Requests/sec:  20869.73
Transfer/sec:      2.97MB
zoujiaqing mac ~ % wrk -t8 -c100 -d5s --latency 
http://192.168.119.128:8080
Running 5s test   http://192.168.119.128:8080
   8 threads and 100 connections
   Thread Stats   Avg      Stdev     Max   +/- Stdev
     Latency     4.60ms    2.06ms  40.65ms   79.75%
     Req/Sec     2.66k   184.97     2.93k    89.22%
   Latency Distribution
      50%    4.15ms
      75%    5.30ms
      90%    7.05ms
      99%   11.77ms
   108005 requests in 5.10s, 11.85MB read
Requests/sec:  21165.06
Transfer/sec:      2.32MB
zoujiaqing mac ~ % wrk -t8 -c100 -d5s --latency 
http://192.168.119.128:8081
Running 5s test   http://192.168.119.128:8081
   8 threads and 100 connections
   Thread Stats   Avg      Stdev     Max   +/- Stdev
     Latency     4.73ms    1.14ms  23.42ms   88.25%
     Req/Sec     2.56k   208.52     2.92k    83.29%
   Latency Distribution
      50%    4.57ms
      75%    4.99ms
      90%    5.55ms
      99%    9.26ms
   103703 requests in 5.10s, 14.74MB read
Requests/sec:  20321.51
Transfer/sec:      2.89MB
zoujiaqing mac ~ % wrk -t8 -c100 -d5s --latency 
http://192.168.119.128:8080
Running 5s test   http://192.168.119.128:8080
   8 threads and 100 connections
   Thread Stats   Avg      Stdev     Max   +/- Stdev
     Latency     4.51ms    1.88ms  22.04ms   77.43%
     Req/Sec     2.70k   111.17     2.97k    80.88%
   Latency Distribution
      50%    4.12ms
      75%    5.23ms
      90%    6.85ms
      99%   11.00ms
   109516 requests in 5.10s, 12.01MB read
Requests/sec:  21463.54
Transfer/sec:      2.35MB
zoujiaqing mac ~ %
```


At least in my Debian virtual machine Archttp behaves very close 
to Fasthttp! Even better than Fasthttp! I hope DLang can develop 
better in the field of microservices in the future.

I just released the first test version of Archttp:
https://forum.dlang.org/thread/jckjrgnmgsulewnrefpr forum.dlang.org

I just passed the test on macOS and Linux! I will continue to 
optimize Archttp's performance and cross-platform capabilities in 
the future. We hope you can give us some optimization suggestions 
to make DLang Web framework performance better.
May 14 2022
parent reply ikod <igor.khasilev gmail.com> writes:
On Saturday, 14 May 2022 at 21:42:26 UTC, zoujiaqing wrote:


 At least in my Debian virtual machine Archttp behaves very 
 close to Fasthttp! Even better than Fasthttp! I hope DLang can 
 develop better in the field of microservices in the future.

 I just released the first test version of Archttp:
 https://forum.dlang.org/thread/jckjrgnmgsulewnrefpr forum.dlang.org

 I just passed the test on macOS and Linux! I will continue to 
 optimize Archttp's performance and cross-platform capabilities 
 in the future. We hope you can give us some optimization 
 suggestions to make DLang Web framework performance better.
Very cool! Will try to play with it.
May 14 2022
parent reply electricface <electricface qq.com> writes:
On Saturday, 14 May 2022 at 22:20:55 UTC, ikod wrote:
 On Saturday, 14 May 2022 at 21:42:26 UTC, zoujiaqing wrote:


 At least in my Debian virtual machine Archttp behaves very 
 close to Fasthttp! Even better than Fasthttp! I hope DLang can 
 develop better in the field of microservices in the future.

 I just released the first test version of Archttp:
 https://forum.dlang.org/thread/jckjrgnmgsulewnrefpr forum.dlang.org

 I just passed the test on macOS and Linux! I will continue to 
 optimize Archttp's performance and cross-platform capabilities 
 in the future. We hope you can give us some optimization 
 suggestions to make DLang Web framework performance better.
Very cool! Will try to play with it.
I think the example is too simple to make a comparison.
May 14 2022
parent zoujiaqing <zoujiaqing gmail.com> writes:
On Sunday, 15 May 2022 at 00:58:13 UTC, electricface wrote:
 On Saturday, 14 May 2022 at 22:20:55 UTC, ikod wrote:
 On Saturday, 14 May 2022 at 21:42:26 UTC, zoujiaqing wrote:


 At least in my Debian virtual machine Archttp behaves very 
 close to Fasthttp! Even better than Fasthttp! I hope DLang 
 can develop better in the field of microservices in the 
 future.

 I just released the first test version of Archttp:
 https://forum.dlang.org/thread/jckjrgnmgsulewnrefpr forum.dlang.org

 I just passed the test on macOS and Linux! I will continue to 
 optimize Archttp's performance and cross-platform 
 capabilities in the future. We hope you can give us some 
 optimization suggestions to make DLang Web framework 
 performance better.
Very cool! Will try to play with it.
I think the example is too simple to make a comparison.
These contrast with the system's high concurrency, thread pooling, and memory optimization. Web framework performance comparisons for all languages were tested in this way. You can go here and study benchmarks: https://github.com/TechEmpower/FrameworkBenchmarks
May 15 2022