Skip to content
Merged

aa #50

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
a599716
update version to fix websocket bug (#10243)
AkazawaYun Nov 6, 2025
2ccf302
jooby: 4.0.11 (#10244)
jknack Nov 6, 2025
0a405af
Replace openjdk:25-jdk-slim with amazoncorretto:25 (#10245)
ruroru Nov 6, 2025
ab77d49
[ruby] Improve display names (#10246)
p8 Nov 6, 2025
d62d294
Add Unhinged adapter with genhttp (#10247)
MDA2AV Nov 6, 2025
a068346
[ruby/rack] Require ERB explicitly (#10248)
p8 Nov 6, 2025
578df24
[ruby/rack] Remove unused method and option (#10249)
p8 Nov 6, 2025
f9b5e79
update feat version (#10251)
smthing Nov 6, 2025
65fc874
toolset: Reduce the packages installed by APT (#10253)
volyrique Nov 7, 2025
eeda59f
Add water-http framework (#10255)
HassanSharara Nov 11, 2025
5eb97c4
[ruby] Add rack-app (#10257)
p8 Nov 11, 2025
2dafb0c
[ruby/padrino] Only test with Iodine (#10258)
p8 Nov 11, 2025
1231b12
[python/cherrypy] Update python 3.13 (#10259)
kitrio Nov 11, 2025
4629cb3
Updated brahma-firelight with CLUSTER mode (#10261)
Shyam20001 Nov 11, 2025
d2c8757
Fix some of the broken java base images (#10262)
ruroru Nov 11, 2025
45329a5
Minor code improvements and add Updates test (#10263)
64J0 Nov 11, 2025
24daeda
update(touchsocket):version to 4.0.0-rc42 (#10265)
RRQM Nov 11, 2025
96a2219
[ruby/rack] Add Itsi webserver for Rack (#10266)
p8 Nov 11, 2025
72bc541
updated sisk tests (#10267)
CypherPotato Nov 11, 2025
195f7bc
update version for akazawayun.pro (#10269)
AkazawaYun Nov 11, 2025
ee7f580
Upgrade hyperlane (#10270)
eastspire Nov 11, 2025
a050d10
Update the set of broken implementations (#10268)
volyrique Nov 11, 2025
f4188f0
Warn if frameworks exceed the maximum number of test mutations (#9667)
p8 Nov 11, 2025
140ebc9
Add --force-rm flag (#9727)
joshka Nov 11, 2025
fced31e
Update some CSharp frameworks to latest (#10184)
Kaliumhexacyanoferrat Nov 11, 2025
e6c7d05
[PHP/ripple] Sync the update of the Ripple (#10223)
cclilshy Nov 11, 2025
d4197fa
[ruby/padrino] Cleanup for Iodine (#10271)
p8 Nov 11, 2025
92bf758
[PHP] remove unused extension, polyfill (#10272)
kitrio Nov 12, 2025
b648eb3
update test version (#10273)
AkazawaYun Nov 12, 2025
8d81c9b
H2O: Reduce the Docker image build time (#10275)
volyrique Nov 12, 2025
2bb509e
Update GenHTTP to version 10 and udpate to .NET 10 (#10274)
Kaliumhexacyanoferrat Nov 13, 2025
b7bca15
[F#/Oxpecker] Upgraded to .NET10 (#10276)
Lanayx Nov 13, 2025
40ce2db
[PHP] Update PHP eloquent ORM (#10277)
kitrio Nov 13, 2025
5060bd2
Add touchsocket platform test (#10278)
RRQM Nov 17, 2025
a14b2c9
Add minor improvements in clojure (#10279)
ruroru Nov 17, 2025
13ff46a
Unhinged - Add high worker variant (#10280)
MDA2AV Nov 17, 2025
fe1810b
Performance improvements to vertx-web-kotlin-dsljson (#10281)
awmcc90 Nov 17, 2025
dd562f5
Build(deps): bump golang.org/x/crypto in /frameworks/Go/fiber/src
dependabot[bot] Nov 19, 2025
44fcb62
Merge pull request #10287 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 19, 2025
895d00e
Build(deps): bump golang.org/x/crypto in /frameworks/Go/hertz
dependabot[bot] Nov 19, 2025
19bb336
Merge pull request #10289 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 19, 2025
118f904
Build(deps): bump golang.org/x/crypto in /frameworks/Go/gin/gin-gorm
dependabot[bot] Nov 19, 2025
2802ccb
Merge pull request #10288 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 19, 2025
563b3d7
Build(deps): bump golang.org/x/crypto
dependabot[bot] Nov 20, 2025
e4cc274
Merge pull request #10291 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 20, 2025
58e20ba
Build(deps): bump golang.org/x/crypto in /frameworks/Go/atreugo/src
dependabot[bot] Nov 20, 2025
28936d0
Merge pull request #10292 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 20, 2025
4736025
Build(deps): bump golang.org/x/crypto in /frameworks/Go/indigo/src
dependabot[bot] Nov 20, 2025
96d08ff
Merge pull request #10293 from TechEmpower/dependabot/go_modules/fram…
github-actions[bot] Nov 20, 2025
a020916
[genhttp] update to version 10.1 (#10297)
Kaliumhexacyanoferrat Nov 25, 2025
238234b
Update httpz to Zig 0.15.2 (#10299)
Kayden1412 Nov 25, 2025
416ff23
[php] Update plain PHP to 8.5 (#10304)
joanhey Nov 25, 2025
0a9a484
[php] KumbiaPHP update to 8.5 (#10305)
joanhey Nov 25, 2025
1a2496b
[php] Workerman update to PHP 8.5 (#10306)
joanhey Nov 25, 2025
d129b2b
[php] Amp update to PHP 8.5 (#10307)
joanhey Nov 25, 2025
0dedb6f
[php] Webman update to PHP 8.5 (#10308)
joanhey Nov 25, 2025
4f48c6f
[php] Comet update to PHP 8.5 (#10309)
joanhey Nov 25, 2025
1450866
[php] Mark update to PHP 8.5 (#10310)
joanhey Nov 25, 2025
95038a3
[php] CodeIgniter update to PHP 8.5 (#10311)
joanhey Nov 25, 2025
7ba4117
[php] Flight update to PHP 8.5 (#10312)
joanhey Nov 25, 2025
48dfc63
[php] Leaf update to PHP 8.5 (#10313)
joanhey Nov 25, 2025
dbe23a6
[php] Nette update to PHP 8.5 (#10314)
joanhey Nov 25, 2025
aaf150f
[php] ReactPHP update to PHP 8.5 (#10316)
joanhey Nov 25, 2025
76190d7
[php] Slim update to PHP 8.5 (#10317)
joanhey Nov 25, 2025
2cf7b9d
[php] Wolff update to PHP 8.5 (#10319)
joanhey Nov 25, 2025
60effe1
[php] Yii2 update to PHP 8.5 (#10320)
joanhey Nov 25, 2025
2c4a992
[php] Spiral update to PHP 8.5 (#10325)
joanhey Nov 25, 2025
2219f26
[php] Ripple update to PHP 8.5 (#10326)
joanhey Nov 25, 2025
7c714be
[php] Laravel update to PHP 8.5 (#10323)
joanhey Nov 25, 2025
844f0c8
[php] Symfony update to PHP 8.5 (#10322)
joanhey Nov 25, 2025
9ec43b9
[php] Piko update to PHP 8.5 (#10315)
joanhey Nov 25, 2025
86decfa
[ruby] Use Ruby 4.0 rc (#10296)
p8 Nov 25, 2025
67f4481
[xitca-web] add toasty as orm (#10294)
fakeshadow Nov 25, 2025
6dc8837
[ruby/sinatra] Update ActiveRecord to 8.1 (#10284)
p8 Nov 25, 2025
5f0c945
[ruby/rack] Update Falcon to 0.52.4 (#10285)
p8 Nov 25, 2025
ce91d99
[ruby/padrino] Update ActiveRecord to 8.1 (#10283)
p8 Nov 25, 2025
5e14b91
toolset: Fix the --force-rm option (#10286)
volyrique Nov 25, 2025
e605445
Update .NET version to 10.0 for CSharp/aspnetcore (#10241)
sebastienros Dec 1, 2025
c017c65
[ruby/rack] Revert jruby change to MRI (#10353)
p8 Dec 1, 2025
578ba13
Adjust worker threads (#10352)
MDA2AV Dec 1, 2025
1a50dcf
[ruby/agoo] Upgrade OJ gem (#10354)
p8 Dec 1, 2025
ecebbf6
Revert "H2O: Track connection load across the worker threads (#9520)"…
volyrique Dec 1, 2025
28d378e
[ruby/sinatra] Use auto-configured workers (#10351)
p8 Dec 1, 2025
97f760a
[ruby] Update json to 2.16.0 (#10350)
p8 Dec 1, 2025
8012df6
[ruby/rack-app] Update Gemfile.lock (#10348)
p8 Dec 1, 2025
8abe032
[F#/Oxpecker] Upgraded packages to the latest versions (#10347)
Lanayx Dec 1, 2025
9002572
[xitca-web] reduce memory allocation (#10343)
fakeshadow Dec 1, 2025
0446810
[genhttp] Improve database performance (#10340)
Kaliumhexacyanoferrat Dec 1, 2025
7e0be4b
[php] Fat free update to PHP 8.5 (#10339)
joanhey Dec 1, 2025
ec593b6
[php] DuckPHP update to PHP 8.5 (#10338)
joanhey Dec 1, 2025
543688a
[ruby/agoo] Change agoo display name to "agoo" (#10334)
p8 Dec 1, 2025
abecec0
[ruby/grape] Update ActiveRecord to 8.1 (#10333)
p8 Dec 1, 2025
3a870b3
Update hyperlane (#10332)
eastspire Dec 1, 2025
732b6bf
update versions (#10331)
CypherPotato Dec 1, 2025
ba8bfe9
Optimization (TouchSocket): Upgrade the target framework and dependen…
RRQM Dec 1, 2025
d690f9e
[php] Mako update to PHP 8.5 (#10329)
joanhey Dec 1, 2025
fb3e557
akazawayun.pro updates version. (#10327)
AkazawaYun Dec 1, 2025
94ef1d2
updated brahma-firelight with Rust_Native Router (#10300)
Shyam20001 Dec 1, 2025
6e33f8e
Add MaxRAMPercentage and clojure.compiler.direct-linking flags to clo…
ruroru Dec 1, 2025
e6785e8
[rust/axum] Update axum to 0.8.7, tokio to 1.48.0, and fix compilatio…
iyuq Dec 1, 2025
768dccb
[ruby/hanami] Update Hanami to 2.3 (#10336)
p8 Dec 1, 2025
c9cfe77
[ruby/grape] Use Iodine instead of Unicorn (#10335)
p8 Dec 1, 2025
80c46e9
update com.fasterxml.jackson.core:jackson-databind 2.12.6.1 to 2.16.0…
chncaption Dec 1, 2025
e543756
[rust/ntex] update to ntex-3.0 (#10357)
fafhrd91 Dec 8, 2025
78377a8
[Python] Bump Granian to 2.6, update Emmett55 implementation (#10358)
gi0baro Dec 8, 2025
6fc55b0
[python/tornado] Remove python 2 tests (#10359)
p8 Dec 8, 2025
7f6b28a
Build(deps): bump werkzeug in /frameworks/Python/eve
dependabot[bot] Dec 8, 2025
996962f
[xitca-web] enable more optimization (#10360)
fakeshadow Dec 8, 2025
0027537
[ruby/padrino] Use latest released Padrino (#10361)
p8 Dec 8, 2025
065589b
[groovy/hot] Remove Hot framework (#10362)
p8 Dec 8, 2025
fe28ddb
[groovy/grails] Mark tests as broken. (#10363)
p8 Dec 8, 2025
932cf08
[ruby/sinatra] Upgrade to Ruby 4.0-rc (#10364)
p8 Dec 8, 2025
c7591cf
update ktor to user Gradle (#10365)
inemtsev Dec 8, 2025
503ea46
Merge pull request #10376 from TechEmpower/dependabot/pip/frameworks/…
github-actions[bot] Dec 8, 2025
865587a
[ruby/rage] Update to 1.17.1 (#10368)
p8 Dec 8, 2025
dcc0cea
[rust/vidi] viz has been renamed to vidi (#10369)
fundon Dec 8, 2025
bfe549e
Update Hyperlane (#10370)
eastspire Dec 8, 2025
b0f2f17
[php] Leaf update to v4 (#10371)
joanhey Dec 8, 2025
760710e
[ruby] Remove RUBY_THREAD_TIMESLICE variable (#10374)
p8 Dec 8, 2025
4c1958d
Add operating system info to results.json (#10375)
msmith-techempower Dec 8, 2025
4da5558
upgrade(touchsocket):nuget version to 4.0.2 (#10367)
RRQM Dec 8, 2025
a825863
Update the set of broken implementations (#10366)
volyrique Dec 8, 2025
b0ad9a3
update(touchsocket):display name (#10379)
RRQM Dec 9, 2025
a775dce
[ruby] Hardcode Puma to 5 threads (#10381)
p8 Dec 10, 2025
761a47a
Upgrade to .NET 10.0.1 (#10382)
LLT21 Dec 10, 2025
975a93d
Keep the `vertx-web-kotlinx` portion updated (#10383)
ShreckYe Dec 10, 2025
907770c
Increase `io.netty.iouring.ringSize` for some Vert.x benchmarks that …
ShreckYe Dec 10, 2025
549e3f0
[ruby/padrino] Update to Ruby 4.0-rc (#10385)
p8 Dec 10, 2025
d874a2e
[ruby/sinatra-sequel] Update sinatra to 4.2 (#10386)
p8 Dec 10, 2025
94a8449
[ruby/grape] Upgrade to Ruby 4.0-rc (#10387)
p8 Dec 10, 2025
b3ccafd
[ruby/rack] Hardcode Puma to 5 threads (#10388)
p8 Dec 10, 2025
a417041
[ruby/grape] Hardcode Puma to 5 threads (#10389)
p8 Dec 10, 2025
597b2d0
[php] CakePHP update to PHP 8.5 (#10337)
joanhey Dec 11, 2025
55edd01
[crystal] Update to 1.18.2 (#10390)
p8 Dec 11, 2025
883c4fb
Remove Onyx framework (#10391)
p8 Dec 11, 2025
36f19be
toolset: Tune the AIO parameters for PostgreSQL 18 (#10378)
volyrique Dec 11, 2025
8892a4e
[crystal/grip] Fix tests and update to Crystal 1.18.2 (#10392)
p8 Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ jobs:
# run-ci.py runs the diffing to see if github actions needs to test this framework. Ideally/eventually,
# we'd like to try and do the diffing before github_actions_clean & setup.
# This will run the tests exactly as you would in your own vm:
docker network create tfb > /dev/null 2>&1 && docker run --network=tfb -e USER_ID=$(id -u) -e CI=true -v /var/run/docker.sock:/var/run/docker.sock --mount type=bind,source=`pwd`,target=/FrameworkBenchmarks techempower/tfb --mode verify --test-dir $RUN_TESTS --results-environment Github-Actions;
docker network create tfb > /dev/null 2>&1 && docker run --network=tfb -e USER_ID=$(id -u) -e CI=true -v /var/run/docker.sock:/var/run/docker.sock --mount type=bind,source=`pwd`,target=/FrameworkBenchmarks techempower/tfb --mode verify --force-rm --test-dir $RUN_TESTS --results-environment Github-Actions;
dependabot:
needs: verify
runs-on: ubuntu-latest
Expand Down
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ ARG DEBIAN_FRONTEND=noninteractive
# WARNING: DON'T PUT A SPACE AFTER ANY BACKSLASH OR APT WILL BREAK
# One -q produces output suitable for logging (mostly hides
# progress indicators)
RUN apt-get -yqq update && \
apt-get -yqq install \
RUN apt-get install \
--no-install-recommends \
-o Dpkg::Options::="--force-confdef" \
-o Dpkg::Options::="--force-confold" \
-qqUy \
cloc \
curl \
gcc \
Expand Down
2 changes: 1 addition & 1 deletion entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ set -eo pipefail -u

chown -LR "$USER_ID" /var/run
# Drop permissions of user to match those of the host system
gosu "$USER_ID" python3 "${FWROOT}/toolset/run-tests.py" "$@"
exec gosu "$USER_ID" python3 "${FWROOT}/toolset/run-tests.py" "$@"
4 changes: 2 additions & 2 deletions frameworks/C++/ffead-cpp/benchmark_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@
"display_name": "ffead-cpp [pg-raw-async-prof-pool-m]",
"notes": "async memory profiled",
"versus": "",
"tags": []
"tags": ["broken"]
},
"postgresql-raw-async-clibpqb-profiled": {
"db_url": "/t4/d",
Expand Down Expand Up @@ -301,7 +301,7 @@
"display_name": "ffead-cpp [pg-raw-async-qw-prof-pool-m]",
"notes": "async memory profiled",
"versus": "",
"tags": []
"tags": ["broken"]
}
}]
}
11 changes: 5 additions & 6 deletions frameworks/C/h2o/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ find_path(PQ_INCLUDE postgresql/libpq-fe.h REQUIRED)
find_path(YAJL_INCLUDE yajl/yajl_gen.h REQUIRED)
find_program(BPFTOOL_BIN bpftool REQUIRED)
find_program(CLANG_BIN clang REQUIRED)
include_directories(src ${CMAKE_BINARY_DIR}/generated-headers ${BPF_INCLUDE} ${H2O_INCLUDE})
include_directories(${MUSTACHE_C_INCLUDE} ${NUMA_INCLUDE} ${OPENSSL_INCLUDE} ${PQ_INCLUDE})
include_directories(${YAJL_INCLUDE})
include_directories(src ${CMAKE_BINARY_DIR} ${BPF_INCLUDE} ${H2O_INCLUDE} ${MUSTACHE_C_INCLUDE})
include_directories(${NUMA_INCLUDE} ${OPENSSL_INCLUDE} ${PQ_INCLUDE} ${YAJL_INCLUDE})
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
add_compile_definitions(H2O_USE_LIBUV=0)
Expand All @@ -32,7 +31,7 @@ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_FORTIFY_SOURCE=2")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3")
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/generated-headers/socket_load_balancer.h
OUTPUT ${CMAKE_BINARY_DIR}/socket_load_balancer.h
COMMAND ${CLANG_BIN}
-c
-DNDEBUG
Expand All @@ -47,12 +46,12 @@ add_custom_command(
${WARNING_OPTIONS}
${CMAKE_CURRENT_SOURCE_DIR}/src/bpf/socket_load_balancer.c
COMMAND ${BPFTOOL_BIN} gen skeleton ${CMAKE_BINARY_DIR}/socket_load_balancer.o >
${CMAKE_BINARY_DIR}/generated-headers/socket_load_balancer.h
${CMAKE_BINARY_DIR}/socket_load_balancer.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/bpf/socket_load_balancer.c
VERBATIM)
add_custom_target(
generated_headers
DEPENDS ${CMAKE_BINARY_DIR}/generated-headers/socket_load_balancer.h)
DEPENDS ${CMAKE_BINARY_DIR}/socket_load_balancer.h)
file(GLOB_RECURSE HANDLER_SOURCES "src/handlers/*.c")
file(GLOB SOURCES "src/*.c")
add_executable(${PROJECT_NAME} ${HANDLER_SOURCES} ${SOURCES})
Expand Down
7 changes: 1 addition & 6 deletions frameworks/C/h2o/h2o.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ ARG UBUNTU_VERSION=25.10

ARG H2O_APP_PREFIX=/opt/h2o-app

FROM "ubuntu:${UBUNTU_VERSION}" AS compile
FROM "buildpack-deps:${UBUNTU_VERSION}" AS compile

RUN echo "[timing] Installing system packages: $(date)"
ARG DEBIAN_FRONTEND=noninteractive
Expand All @@ -24,15 +24,12 @@ RUN apt-get install \
libnuma-dev \
libpq-dev \
libssl-dev \
libstdc++-15-dev \
libtool \
liburing-dev \
libuv1-dev \
libwslay-dev \
libyajl-dev \
libz-dev \
make \
ninja-build \
pkg-config \
ruby \
systemtap-sdt-dev
Expand All @@ -47,7 +44,6 @@ RUN curl -LSs "https://github.com/h2o/h2o/archive/${H2O_VERSION}.tar.gz" | \
-B build \
-DCMAKE_C_FLAGS="-flto=auto -march=native -mtune=native" \
-DWITH_MRUBY=on \
-G Ninja \
-S . && \
cmake --build build -j && \
cmake --install build
Expand All @@ -72,7 +68,6 @@ RUN cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="-march=native -mtune=native" \
-DCMAKE_INSTALL_PREFIX="${H2O_APP_PREFIX}" \
-G Ninja \
-S .. && \
cmake --build . -j && \
cmake --install .
Expand Down
29 changes: 0 additions & 29 deletions frameworks/C/h2o/src/event_loop.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,13 @@
#include <netinet/tcp.h>
#include <openssl/ssl.h>
#include <sys/socket.h>
#include <sys/syscall.h>
#include <sys/types.h>

#include "error.h"
#include "event_loop.h"
#include "global_data.h"
#include "thread.h"
#include "utility.h"

#define CONN_NUM_SAMPLE_PERIOD 2500
#define DEFAULT_TCP_FASTOPEN_QUEUE_LEN 4096

static void accept_connection(h2o_socket_t *listener, const char *err);
Expand Down Expand Up @@ -80,7 +77,6 @@ static void accept_connection(h2o_socket_t *listener, const char *err)
if (!sock)
break;

ctx->event_loop.accepted_conn_num++;
ctx->event_loop.conn_num++;
sock->on_close.cb = on_close_connection;
sock->on_close.data = &ctx->event_loop.conn_num;
Expand Down Expand Up @@ -299,36 +295,11 @@ static void start_accept_polling(bool is_main_thread,

void event_loop(struct thread_context_t *ctx)
{
uint64_t last_sample = 0;

while (!ctx->shutdown || ctx->event_loop.conn_num) {
h2o_evloop_run(ctx->event_loop.h2o_ctx.loop, INT32_MAX);
process_messages(&ctx->global_thread_data->h2o_receiver,
&ctx->event_loop.local_messages);

const uint64_t now = h2o_now(ctx->event_loop.h2o_ctx.loop);

if (now - last_sample > CONN_NUM_SAMPLE_PERIOD || last_sample > now) {
const size_t i = ctx->event_loop.conn_num_sample_idx;

ctx->event_loop.conn_num_sample[i] = ctx->event_loop.conn_num;
ctx->event_loop.conn_num_sample_idx =
(i + 1) % ARRAY_SIZE(ctx->event_loop.conn_num_sample);
last_sample = now;
}
}

flockfile(stdout);
printf("Thread %ld statistics:\nAccepted connections: %zu\nConnection number samples: %zu",
syscall(SYS_gettid),
ctx->event_loop.accepted_conn_num,
*ctx->event_loop.conn_num_sample);

for (size_t i = 1; i < ARRAY_SIZE(ctx->event_loop.conn_num_sample); i++)
printf(",%zu", ctx->event_loop.conn_num_sample[i]);

putc_unlocked('\n', stdout);
funlockfile(stdout);
}

void free_event_loop(event_loop_t *event_loop, h2o_multithread_receiver_t *h2o_receiver)
Expand Down
5 changes: 0 additions & 5 deletions frameworks/C/h2o/src/event_loop.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@

#include "global_data.h"

#define CONN_NUM_SAMPLES 512

typedef enum {
SHUTDOWN,
TASK
Expand All @@ -43,9 +41,6 @@ typedef struct {
h2o_accept_ctx_t h2o_accept_ctx;
h2o_context_t h2o_ctx;
h2o_linklist_t local_messages;
size_t accepted_conn_num;
size_t conn_num_sample[CONN_NUM_SAMPLES];
size_t conn_num_sample_idx;
} event_loop_t;

typedef struct {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AkazawaYun.PRO" Version="1.14.25.1103" />
<PackageReference Include="AkazawaYun.PRO" Version="1.14.25.1024-p" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
using AkazawaYun.PRO7;
using System.Text;

namespace AkazawaYun.Benchmark.Platform;

class MyBenchmarkReceptor : akzWebReceptorBenchmark
class MyBenchmarkReceptor : akaWebReceptorBenchmark
{
readonly JsonModel JsonModel;
readonly ReadOnlyMemory<byte> JsonContentLength;


public MyBenchmarkReceptor()
Expand All @@ -15,8 +13,6 @@ public MyBenchmarkReceptor()
{
message = "Hello, World!"
};
akzJson.Text2Json(JsonModel, out ReadOnlyMemory<byte> json);
JsonContentLength = Encoding.UTF8.GetBytes($"{json.Length}\r\n\r\n");
}


Expand All @@ -26,9 +22,8 @@ public override ValueTask SendPlaintext(IHttpContext http)
}
public override async ValueTask SendJson(IHttpContext http)
{
await http.Slient.Send(DataJson_OnlyHeaderExceptContentLength);
await http.Slient.Send(JsonContentLength);
akzJson.Text2Json(JsonModel, out ReadOnlyMemory<byte> json);
await http.Slient.Send(DataJson_OnlyHeader);
akaJson.Text2Json(JsonModel, out ReadOnlyMemory<byte> json);
await http.Slient.Send(json);
}
public override ValueTask SendDb(IHttpContext http)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,17 @@ namespace AkazawaYun.Benchmark.Platform;

class Program
{
static readonly akzWebBuilder builder;
const int port = 8080;
static readonly akaWebBuilder builder;

static Program()
{
akzLog.War("AkazawaYun.PRO 压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
akzJson.Config(null, AotJsonContext.Default);
builder = akzWebBuilder.Shared.SetPort(port).SetDev(true)
.Add<akzXmlSummary, akzXmlSummary>(() => null)
.Add<IWebReceptor, MyBenchmarkReceptor>(() => new MyBenchmarkReceptor())
.Add<IWebListener, akzHttpListenerVIBenchmark>(() => new(port)
{
LogLevel = 0
}).Build();
akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
akaJson.Config(AotJsonContext.Default);
builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
}
static async Task Main()
{
await builder.Launch();

akzLog.Inf("[API SELF-TEST]");
string url = $"http://localhost:{port}/plaintext";
akzLog.Inf(" REQ URL :" + url);
string res = await akzHttpClient.Shared.Get(url).FetchString();
akzLog.Inf(" RES LEN :" + res.Length);
akzLog.Inf(" RES BODY:" + res);
akzLog.Inf("[OK, I WORK FINE]");

akzLog.Default = akzLog.Output.NoneButWar;
await Task.Delay(-1);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AkazawaYun.PRO" Version="1.14.25.1103" />
<PackageReference Include="AkazawaYun.PRO" Version="1.14.25.1110" />
<PackageReference Include="MySql.Data" Version="9.4.0" />
</ItemGroup>

Expand Down
6 changes: 4 additions & 2 deletions frameworks/CSharp/appmpower/appmpower-odbc-my.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
RUN apt-get update
RUN apt-get -yqq install clang zlib1g-dev
RUN apt-get update
Expand All @@ -8,7 +8,7 @@ COPY src .
RUN dotnet publish -c Release -o out /p:Database=mysql

# Construct the actual image that will run
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
FROM mcr.microsoft.com/dotnet/aspnet:10.0.1 AS runtime

RUN apt-get update
# The following installs standard versions unixodbc and pgsqlodbc
Expand Down Expand Up @@ -51,6 +51,8 @@ RUN cp /usr/lib/x86_64-linux-gnu/libodbc* /app
#TODOLOCAL
#RUN cp /usr/lib/aarch64-linux-gnu/libodbc* /app

#TEST: ./tfb --test appmpower-odbc-my --type db

EXPOSE 8080

ENTRYPOINT ["./appMpower"]
6 changes: 4 additions & 2 deletions frameworks/CSharp/appmpower/appmpower-odbc-pg.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
RUN apt-get update
RUN apt-get -yqq install clang zlib1g-dev

Expand All @@ -7,7 +7,7 @@ COPY src .
RUN dotnet publish -c Release -o out /p:Database=postgresql

# Construct the actual image that will run
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
FROM mcr.microsoft.com/dotnet/aspnet:10.0.1 AS runtime

RUN apt-get update
RUN apt-get install -y unixodbc-dev unixodbc odbc-postgresql
Expand All @@ -32,6 +32,8 @@ RUN cp /usr/lib/x86_64-linux-gnu/libodbc* /app
#TODOLOCAL
#RUN cp /usr/lib/aarch64-linux-gnu/libodbc* /app

#TEST: ./tfb --test appmpower-odbc-pg --type db

EXPOSE 8080

ENTRYPOINT ["./appMpower"]
6 changes: 4 additions & 2 deletions frameworks/CSharp/appmpower/appmpower.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
RUN apt-get update
RUN apt-get -yqq install clang zlib1g-dev

Expand All @@ -8,7 +8,7 @@ COPY src .
RUN dotnet publish -c Release -o out

# Construct the actual image that will run
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
FROM mcr.microsoft.com/dotnet/aspnet:10.0.1 AS runtime
# Full PGO
ENV DOTNET_TieredPGO 1
ENV DOTNET_TC_QuickJitForLoops 1
Expand All @@ -18,6 +18,8 @@ ENV ASPNETCORE_URLS http://+:8080
WORKDIR /app
COPY --from=build /app/out ./

#TEST: ./tfb --test appmpower --type json

EXPOSE 8080

ENTRYPOINT ["./appMpower"]
Loading
Loading