Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,21 +71,21 @@ cd ../benchmarks
DURATION=30s THREADS=4 CONNECTIONS=100 ./benchmark.sh
```

Output (non-ASAN Release build):
Output (non-ASAN Release build, generated Thu Jun 11 20:26:47 MSK 2026):

#### GET /echo

| Server | Latency avg | Latency stdev | Latency max | +/- stdev | Requests/sec | Transfer/sec |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| C++ coroutine server | 132.16us | 66.78us | 4.97ms | 80.82% | 439792.17 | 29.78MB |
| Rust Tokio server | 150.12us | 119.34us | 5.53ms | 94.01% | 506996.06 | 40.61MB |
| C++ coroutine server | 100.04us | 50.46us | 5.11ms | 87.62% | 562133.10 | 45.03MB |
| Rust Tokio server | 131.02us | 105.52us | 4.47ms | 94.77% | 559214.10 | 44.80MB |

#### POST /echo

| Server | Latency avg | Latency stdev | Latency max | +/- stdev | Requests/sec | Transfer/sec |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| C++ coroutine server | 149.98us | 77.14us | 5.27ms | 81.01% | 402624.34 | 29.57MB |
| Rust Tokio server | 168.98us | 138.11us | 5.80ms | 91.79% | 465844.80 | 39.98MB |
| C++ coroutine server | 107.32us | 47.45us | 3.89ms | 84.16% | 519114.00 | 44.56MB |
| Rust Tokio server | 157.70us | 134.03us | 7.43ms | 92.10% | 510284.18 | 43.80MB |

## Pull Request Checks

Expand Down
10 changes: 10 additions & 0 deletions server/CTestTestfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# CMake generated Testfile for
# Source directory: /home/shfdis/httpserver/server
# Build directory: /home/shfdis/httpserver/server
#
# This file includes the relevant testing commands required for
# testing this directory and lists subdirectories to be tested as well.
add_test(http_parser_test "/home/shfdis/httpserver/server/tests/http_parser_test")
set_tests_properties(http_parser_test PROPERTIES _BACKTRACE_TRIPLES "/home/shfdis/httpserver/server/CMakeLists.txt;64;add_test;/home/shfdis/httpserver/server/CMakeLists.txt;0;")
add_test(http_integration_test "/home/shfdis/httpserver/server/tests/http_integration_test")
set_tests_properties(http_integration_test PROPERTIES _BACKTRACE_TRIPLES "/home/shfdis/httpserver/server/CMakeLists.txt;71;add_test;/home/shfdis/httpserver/server/CMakeLists.txt;0;")
109 changes: 109 additions & 0 deletions server/DartConfiguration.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# This file is configured by CMake automatically as DartConfiguration.tcl
# If you choose not to use CMake, this file may be hand configured, by
# filling in the required variables.


# Configuration directories and files
SourceDirectory: /home/shfdis/httpserver/server
BuildDirectory: /home/shfdis/httpserver/server

# Where to place the cost data store
CostDataFile:

# Site is something like machine.domain, i.e. pragmatic.crd
Site: archlinux

# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++
BuildName: Linux-c++

# Subprojects
LabelsForSubprojects:

# Submission information
SubmitURL: http://
SubmitInactivityTimeout:

# Dashboard start time
NightlyStartTime: 00:00:00 EDT

# Commands for the build/test/submit cycle
ConfigureCommand: "/usr/bin/cmake" "/home/shfdis/httpserver/server"
MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}"
DefaultCTestConfigurationType: Release

# version control
UpdateVersionOnly:

# CVS options
# Default is "-d -P -A"
CVSCommand:
CVSUpdateOptions:

# Subversion options
SVNCommand:
SVNOptions:
SVNUpdateOptions:

# Git options
GITCommand:
GITInitSubmodules:
GITUpdateOptions:
GITUpdateCustom:

# Perforce options
P4Command:
P4Client:
P4Options:
P4UpdateOptions:
P4UpdateCustom:

# Generic update command
UpdateCommand:
UpdateOptions:
UpdateType:

# Compiler info
Compiler: /usr/bin/c++
CompilerVersion: 16.1.1

# Dynamic analysis (MemCheck)
PurifyCommand:
ValgrindCommand:
ValgrindCommandOptions:
DrMemoryCommand:
DrMemoryCommandOptions:
CudaSanitizerCommand:
CudaSanitizerCommandOptions:
MemoryCheckType:
MemoryCheckSanitizerOptions:
MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND
MemoryCheckCommandOptions:
MemoryCheckSuppressionFile:

# Coverage
CoverageCommand: /usr/bin/gcov
CoverageExtraFlags: -l

# Testing options
# TimeOut is the amount of time in seconds to wait for processes
# to complete during testing. After TimeOut seconds, the
# process will be summarily terminated.
# Currently set to 25 minutes
TimeOut: 1500

# During parallel testing CTest will not start a new test if doing
# so would cause the system load to exceed this value.
TestLoad:

TLSVerify:
TLSVersion:

UseLaunchers:
CurlOptions:
# warning, if you add new options here that have to do with submit,
# you have to update cmCTestSubmitCommand.cxx

# For CTest submissions that timeout, these options
# specify behavior for retrying the submission
CTestSubmitRetryDelay: 5
CTestSubmitRetryCount: 3
3 changes: 3 additions & 0 deletions server/Testing/Temporary/CTestCostData.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
http_parser_test 9 0.000310016
http_integration_test 9 0.000431396
---
33 changes: 33 additions & 0 deletions server/Testing/Temporary/LastTest.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Start testing: Jun 11 20:24 MSK
----------------------------------------------------------
1/2 Testing: http_parser_test
1/2 Test: http_parser_test
Command: "/home/shfdis/httpserver/server/tests/http_parser_test"
Directory: /home/shfdis/httpserver/server
"http_parser_test" start time: Jun 11 20:24 MSK
Output:
----------------------------------------------------------
<end of output>
Test time = 0.00 sec
----------------------------------------------------------
Test Passed.
"http_parser_test" end time: Jun 11 20:24 MSK
"http_parser_test" time elapsed: 00:00:00
----------------------------------------------------------

2/2 Testing: http_integration_test
2/2 Test: http_integration_test
Command: "/home/shfdis/httpserver/server/tests/http_integration_test"
Directory: /home/shfdis/httpserver/server
"http_integration_test" start time: Jun 11 20:24 MSK
Output:
----------------------------------------------------------
<end of output>
Test time = 0.00 sec
----------------------------------------------------------
Test Passed.
"http_integration_test" end time: Jun 11 20:24 MSK
"http_integration_test" time elapsed: 00:00:00
----------------------------------------------------------

End testing: Jun 11 20:24 MSK
Loading
Loading