Merged
Conversation
* add new test : CSharp/akazawayun.pro * modify config and code * add content-type * update url * update package version * add 3 new tests: db、queries、updates 1. add 3 new tests: db、queries、updates; 2. split code to multi files; * - * use generated sql instead const string. * update version * fix bug of db query * set port to 8080 * 升级 akazawayun.pro 框架版本到 14 * i forget to update the port change... * test self whether work fine.. * update nuget version * why pr failed... * 不小心多提交了别人的框架...改回 * akazawayun fix bug * remove db test there is some error in mysql * confirmed there is bug in mysql.data 9.5.0 还是用8080端口吧- -b, 都用8080, 改其他的对比测时不方便 * downgrade mysql.data back to 9.4.0 * fix bug of akazawayun.pro * update version of akazawayun.pro * update version * add platform test * update nupkg version
- fix classpath issue on jetty/undertow tests
openjdk images have been deprecated and 25-jdk-slim image was removed Did not upgrade reitit-async due to failing run
Use square brackers for test variants names.
* Add Unhinged adapter with genhttp * Update Unhinged to 9.0.5 * Update dependencies, unhinged to micro, added http parsing and routing
Avoids the following warning when running just the fortune tests:
\#<NameError: uninitialized constant HelloWorld::ERB
select_random_numbers and sql_log_level don't seem to get used.
* 适配最新版 * upgrade smart-socket * upgrade smart-socket * upgrade smart-socket * upgrade smart-socket * upgrade feat * upgrade feat * upgrade feat * upgrade feat * upgrade feat * upgrade feat * upgrade feat * upgrade feat
Make sure that APT does not install anything unnecessary. Signed-off-by: Anton Kirilov <antonvkirilov@proton.me>
* Add water-http framework * benchmark_config.json update
rack-app is a minimalist web framework that focuses on simplicity and maintainability. The framework is meant to be used by seasoned web developers.
Unicorn is no longer maintained. Replace Puma with Iodine, as it performs better than Puma in these benchmarks.
increase queue_size for pass DB job
* brahma-firelight added * cluster mode enabled
* fix broken java base images * Update Hikari CP settings in httpserver and ring-http-exchange * Add semeru to ring-http-exchange --------- Co-authored-by: jj <keistaslogairkosulys@gmail.com>
* update(touchsocket):version to 4.0.0-rc.2 * update(touchsocket):version to 4.0.0-rc.5 * optimize(touchsocket):scheduler * Performance (TouchSocketHttp, TouchSocketWebApi): Enable server garbage collection * update(touchsocket):version to 4.0.0-rc.15 * update(touchsocket):version to 4.0.0-rc42 * 重构(Program): 显式指定变量类型并优化配置 显式指定变量类型以提高代码可读性和类型安全性 修改命名空间为 `TouchSocketHttp` 将 `options.BufferOnDemand` 默认值从 `false` 修改为 `true` 调整 `SetTransportOption` 和 `ApiServer` 中的相关代码 * 优化(csproj): 升级TouchSocket包版本 在TouchSocketHttp.csproj和TouchSocketWebApi.csproj中,将TouchSocket.Hosting和TouchSocket.WebApi的包引用版本从4.0.0-rc.42升级到4.0.0-rc.44,以修复错误、提高性能或增加新功能
* update sisk cadente * add missing dependencies to aot test * remove aot test * fix: plaintext strings * update cadente version * update cadente version * update sisk benchmarks
* add new test : CSharp/akazawayun.pro * modify config and code * add content-type * update url * update package version * add 3 new tests: db、queries、updates 1. add 3 new tests: db、queries、updates; 2. split code to multi files; * - * use generated sql instead const string. * update version * fix bug of db query * set port to 8080 * 升级 akazawayun.pro 框架版本到 14 * i forget to update the port change... * test self whether work fine.. * update nuget version * why pr failed... * 不小心多提交了别人的框架...改回 * akazawayun fix bug * remove db test there is some error in mysql * confirmed there is bug in mysql.data 9.5.0 还是用8080端口吧- -b, 都用8080, 改其他的对比测时不方便 * downgrade mysql.data back to 9.4.0 * fix bug of akazawayun.pro * update version of akazawayun.pro * update version * add platform test * update nupkg version * update version
* feat: port * feat: port * feat: db * feat: db * feat: db * feat: lock * feat: lock * feat: v4.41.0 * feat: v4.42.0 * Merge remote-tracking branch 'upstream/master' * Merge remote-tracking branch 'upstream/master' * feat: inline * feat: dockerfile * feat: v4.52.1 * feat: remove key * remove: log * remove: log * feat: async * remove: empty loop * feat: utf8 * change: pool_size * remove: utf8 * feat: log * feat: log * feat: v3.14.1 * feat: 4.56.3 * feat: 4.56.4 * feat: 4.56.5 * feat: rename * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: speed * feat: speed * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * feat: runtime * feat: runtime * feat: runtime * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: hyperlane * feat: update * docs: readme * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: lock * feat: use super * feat: update lock * feat: update * feat: update lock * feat: update lock * feat: update lock * feat: lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * Merge remote-tracking branch 'upstream/master' * feat: update * feat: utf8 * feat: utf8 * feat: lock * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * update: code * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update version * feat: update version * update: code * Merge remote-tracking branch 'upstream/master' * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: error handle * feat: dep * feat: get_thread_count * update: code * feat: lock * feat: speed * feat: speed * update: code * feat: speed * update: code * feat: lock * fix: Framework hyperlane does not define a default test in benchmark_config.json * feat: hyperlane http version * feat: hyperlane http version * feat: toml * feat: toml * feat: toml * feat: toml * feat: v0.1.0 * feat: toml * feat: v6 * feat: v6 * feat: v6 * feat: v6 * feat: v6 * debug: test cache * debug: test cache * feat: v6 * feat: send unwrap * feat: v6 * feat: v6 * feat: v0.1.0 * feat: toml * feat: toml * feat: db * feat: toml * feat: toml * feat: toml * feat: toml * feat: dir update * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: 2025-10-24 12:22:32 * feat: v0.1.0 * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: v0.1.0 * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: 2025-11-09 18:38:22 --------- Co-authored-by: 尤雨东 <83822098+ltpp-universe@users.noreply.github.com>
Signed-off-by: Anton Kirilov <antonvkirilov@proton.me>
> The number of test mutations will be limited to 10. #8420 This change shows a warning message for frameworks if the maximum is reached.
* feat: add `--force-rm` flag to configure removing intermediate docker layers This commit makes it possible to turn off the removal of intermediate docker layers when building the tfb containers by adding a `--force-rm` flag to the tfb script. This is useful in situations where you want to inspect the intermediate layers for debugging purposes, or for caching builds of dependencies as a docker layer to speed up the build process. Note that the default behavior is to remove the intermediate layers to avoid filling up the disk with unused layers on the citrine server. Fixes: #9718 * hyper: cache dependencies to reduce build time This change reduces the time it takes to build the hyper Docker image by caching the dependency builds. This is done by building a dummy binary before copying the source code into the image. * Change default for --force-rm to False --------- Co-authored-by: Mike Smith <msmith@techempower.com>
* Sync the update of the Ripple * Sync the update of the Ripple
Remove some unused code.
* [PHP] remove unused extension, polyfill symfony, laravel * [PHP] add laravel, symfony workers intl extension
* add new test : CSharp/akazawayun.pro * modify config and code * add content-type * update url * update package version * add 3 new tests: db、queries、updates 1. add 3 new tests: db、queries、updates; 2. split code to multi files; * - * use generated sql instead const string. * update version * fix bug of db query * set port to 8080 * 升级 akazawayun.pro 框架版本到 14 * i forget to update the port change... * test self whether work fine.. * update nuget version * why pr failed... * 不小心多提交了别人的框架...改回 * akazawayun fix bug * remove db test there is some error in mysql * confirmed there is bug in mysql.data 9.5.0 还是用8080端口吧- -b, 都用8080, 改其他的对比测时不方便 * downgrade mysql.data back to 9.4.0 * fix bug of akazawayun.pro * update version of akazawayun.pro * update version * add platform test * update nupkg version * update version * update version. * fix debug
Signed-off-by: Anton Kirilov <antonvkirilov@proton.me>
The current test are both failing as they use an EOL version of Java. Hot hasn't been updated in 3 years.
The current test fails as it is using an EOL version of Java. Grails is actively maintained, so mark it as broken instead.
* update ktor to user Gradle * fix r2dbc update * improve updates * use pipelining of r2dbc to improve perf * fixed and optimized pgclient * fixed jettyf
…Python/eve/werkzeug-3.1.4 Build(deps): bump werkzeug from 0.15.5 to 3.1.4 in /frameworks/Python/eve
* feat: inline * feat: dockerfile * feat: v4.52.1 * feat: remove key * remove: log * remove: log * feat: async * remove: empty loop * feat: utf8 * change: pool_size * remove: utf8 * feat: log * feat: log * feat: v3.14.1 * feat: 4.56.3 * feat: 4.56.4 * feat: 4.56.5 * feat: rename * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: speed * feat: speed * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * feat: runtime * feat: runtime * feat: runtime * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * lock: toml * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: hyperlane * feat: update * docs: readme * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: lock * feat: use super * feat: update lock * feat: update * feat: update lock * feat: update lock * feat: update lock * feat: lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * feat: update lock * Merge remote-tracking branch 'upstream/master' * feat: update * feat: utf8 * feat: utf8 * feat: lock * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * update: code * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * feat: update * Merge remote-tracking branch 'upstream/master' * feat: update version * feat: update version * update: code * Merge remote-tracking branch 'upstream/master' * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: lock * feat: error handle * feat: dep * feat: get_thread_count * update: code * feat: lock * feat: speed * feat: speed * update: code * feat: speed * update: code * feat: lock * fix: Framework hyperlane does not define a default test in benchmark_config.json * feat: hyperlane http version * feat: hyperlane http version * feat: toml * feat: toml * feat: toml * feat: toml * feat: v0.1.0 * feat: toml * feat: v6 * feat: v6 * feat: v6 * feat: v6 * feat: v6 * debug: test cache * debug: test cache * feat: v6 * feat: send unwrap * feat: v6 * feat: v6 * feat: v0.1.0 * feat: toml * feat: toml * feat: db * feat: toml * feat: toml * feat: toml * feat: toml * feat: dir update * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: 2025-10-24 12:22:32 * feat: v0.1.0 * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: v0.1.0 * Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks * feat: 2025-11-09 18:38:22 * feat: toml * feat: toml * feat: buffer * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml * feat: toml --------- Co-authored-by: 尤雨东 <83822098+ltpp-universe@users.noreply.github.com>
This setting seems to improve performance so I'd like to enable it for a lot more frameworks. By removing it this run and enabling it for all next run, we can have a better comparison.
* 优化(MyTcpSessionClientBase): 优化异步逻辑与代码结构 重构MyTcpSessionClientBase类以提升性能与可读性: - 将Json和Plaintext字段从public改为private - 优化pipeReader.ReadAsync与pipeWriter.FlushAsync的异步调用逻辑 - 为关键方法添加AggressiveOptimization标记以启用编译优化 - 简化TryReadLine方法的行尾标记处理逻辑 - 优化ParseUrlFast方法的URL解析逻辑,减少冗余代码 - 重构WriteResponseSync方法,使用if-else替代switch语句 - 删除冗余注释与代码,提升代码整洁度 * 优化(project): 升级TouchSocket相关包版本 升级TouchSocket相关包版本以使用最新功能和修复 - 在 `TouchSocketHttp.csproj` 中,将 `TouchSocket.WebApi` 替换为 `TouchSocket.Http`,并将版本更新至 `4.0.2` - 在 `TouchSocketHttpPlatform.csproj` 中,将 `TouchSocket` 包版本更新至 `4.0.2` - 在 `TouchSocketWebApi.csproj` 中: - 将 `TouchSocket.Hosting` 包版本更新至 `4.0.2` - 将 `TouchSocket.WebApi` 包版本更新至 `4.0.2`
Signed-off-by: Anton Kirilov <antonvkirilov@proton.me>
* 优化(MyTcpSessionClientBase): 优化异步逻辑与代码结构 重构MyTcpSessionClientBase类以提升性能与可读性: - 将Json和Plaintext字段从public改为private - 优化pipeReader.ReadAsync与pipeWriter.FlushAsync的异步调用逻辑 - 为关键方法添加AggressiveOptimization标记以启用编译优化 - 简化TryReadLine方法的行尾标记处理逻辑 - 优化ParseUrlFast方法的URL解析逻辑,减少冗余代码 - 重构WriteResponseSync方法,使用if-else替代switch语句 - 删除冗余注释与代码,提升代码整洁度 * 优化(project): 升级TouchSocket相关包版本 升级TouchSocket相关包版本以使用最新功能和修复 - 在 `TouchSocketHttp.csproj` 中,将 `TouchSocket.WebApi` 替换为 `TouchSocket.Http`,并将版本更新至 `4.0.2` - 在 `TouchSocketHttpPlatform.csproj` 中,将 `TouchSocket` 包版本更新至 `4.0.2` - 在 `TouchSocketWebApi.csproj` 中: - 将 `TouchSocket.Hosting` 包版本更新至 `4.0.2` - 将 `TouchSocket.WebApi` 包版本更新至 `4.0.2` * 优化(benchmark_config): 更新display_name格式以包含版本信息
5 threads is recommended, this also makes sure results are more predictable when run on different environments.
* Upgrade to .NET 10.0.1 * Avoid extra copy by pinning the internal buffer instead --------- Co-authored-by: LLT21 <>
* Bump all dependencies and toolchains to the latest * Migrate to Vert.x 5 APIs and bump Kotlin to 2.3.0-RC2 to support Java 25 * Update catching the "connection" reset exceptions * Try setting `date` with kotlinx-datetime but it doesn't work as expected Got `java.lang.IllegalStateException: Field offsetHours is not set`. * Remove the kotlinx-datetime dependency and update the comment See commit 9cf28f1 for a failed attempt to try using kotlinx-datetime. * Get setting `date` with `kotlinx-datetime` to work ref: huanshankeji#1 * Review and port some of the changes in `FrameworkBenchmarks/frameworks/Java/vertx/` from commit 057c25b to commit 1838aa5, and fix some typos Some changes are not ported. There is about 5% performance improvement in the JSON test as tested on my device. * Increase the io_uring completion queue size to resolve warnings and improve the plaintext test performance ``` io.netty.channel.uring.IoUringIoHandler processCompletionsAndHandleOverflow vertx: WARNING: CompletionQueue overflow detected, consider increasing size: 4096 ``` This is still one warning when the value is set to 8192 as tested on my device, instead of many for the default 4096. * Benchmark Approach 1 and Approach 3 in `jsonResponseCoHandler` again and fix capitalization BTW The "Requests/sec" result of Approach 1 is only 40% of Approach 3 as tested on my device. * Remove an outdated comment as found by Gemini Code Assist * Use the "connection reset" error code from Netty instead of hard-coding it and also catch Java NIO `SocketException` for developing on other OSs such as macOS and Windows Tested with the `tfb` command on both macOS and Linux. * Fix some errors and keep things updated in benchmark_config.json and README.md
…use io_uring (#10384) I see the following warnings when running these benchmarks on my device: ``` io.netty.channel.uring.IoUringIoHandler processCompletionsAndHandleOverflow vertx: WARNING: CompletionQueue overflow detected, consider increasing size: 4096 ```
This should also improve the performance of JRuby where previously the threads were hardcoded to 512: +---------------------+-----+-----+-----+------+-------+---------+--------------+ | branch_name| json| db|query|update|fortune|plaintext|weighted_score| +---------------------+-----+-----+-----+------+-------+---------+--------------+ | master|15415|14528|12212| 11690| 13936| 144433| 1185| | threads = processors|30345|45011|32726| 22101| 39920| 112966| 2512| |rack/puma-max-threads|29204|50077|45459| 25358| 41560| 117562| 3026| +---------------------+-----+-----+-----+------+-------+---------+--------------+
Also extract most logic to a boot.rb, similarly to other Ruby frameworks.
* [php] CakePHP update to PHP 8.5 * Fix deprecated RFC * Update error reporting settings for PHP 8.5 * Quiet composer * Update benchmark_config.json for CakePHP [skip]
Onyx had the last commit 6 years ago.
Signed-off-by: Anton Kirilov <antonvkirilov@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.