gcscb

package module
v0.0.0-...-6798a4c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: MIT Imports: 4 Imported by: 0

README

go-client-server-benchmarks

This project compares the performance of several client-server communication libraries and frameworks for Go.

Tested libraries/frameworks

Short Benchmarks Description

In this benchmarks 1,2,4,8,16 clients send echo requests to the server as follows:

  • Each client executes all echo requests simultaneously in separate goroutines.
  • The same data is used for all participants, it is generated once and then used by everyone.
  • Size of the data varies from 17 to 1024 bytes.
  • The size of the read and write buffers is limited to 4096 bytes.
  • The delay of each response on the server is 30 ms.
  • The received data is checked - it must match the sent data.

Results

All results were obtained on a single laptop (with the connected charger and fan running at full speed):

  • CPU: AMD Ryzen 7 PRO 5850U with Radeon Graphics
  • OS: Gentoo 5.19.9-gentoo x86_64 GNU/Linux
  • Go: 1.24.1

with the following commands:

GEN_SIZE=400000 go test -bench BenchmarkQPS -count=10 -timeout=30m
go test -bench BenchmarkFixed -benchtime=100000x -benchmem -count=10

image

To get more comparable results, let's check how well all participants can handle 100,000 simultaneous requests:

image image image image image image image image

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToCstmDataSet

func ToCstmDataSet(dataSet [][]common.Data) [][]cstm_cmds.EchoCmd

func ToCstpDataSet

func ToCstpDataSet(dataSet [][]common.Data) [][]cstp_cmds.EchoCmd

func ToKthpDataSet

func ToKthpDataSet(dataSet [][]common.Data) [][]*kthp_echo.KitexData

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL