Thread overview
DLang and Golang web framework benchmarks!
May 14, 2022
zoujiaqing
May 14, 2022
ikod
May 15, 2022
electricface
May 15, 2022
zoujiaqing
May 14, 2022

Yesterday I tested the latest version of Fasthttp and Archttp performance. (In my Debian virtual machine.)

Listen port

  • Archttp :8080
  • Fasthttp :8081

Compiler version

  • LDC 1.27
  • Golang 1.18

Simple code for benchmarks

Archttp:

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:

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)
}

Results

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 ~ %

More ..

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

On Saturday, 14 May 2022 at 21:42:26 UTC, zoujiaqing wrote:

>

More ..

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 15, 2022

On Saturday, 14 May 2022 at 22:20:55 UTC, ikod wrote:

>

On Saturday, 14 May 2022 at 21:42:26 UTC, zoujiaqing wrote:

>

More ..

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 15, 2022

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:

>

More ..

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