-
Notifications
You must be signed in to change notification settings - Fork 9
Comparing changes
Open a pull request
base repository: Hical61/Hical
base: v2.5.0
head repository: Hical61/Hical
compare: v2.5.1
- 10 commits
- 63 files changed
- 1 contributor
Commits on May 5, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 2faa0f3 - Browse repository at this point
Copy the full SHA 2faa0f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for eca37ab - Browse repository at this point
Copy the full SHA eca37abView commit details
Commits on May 6, 2026
-
[feat] 新增 Docker 容器化跨语言 Web 框架压测基础设施
benchmark/ 目录包含 Hical (C++20) vs Gin (Go) vs Actix-web (Rust) 的 完整压测环境,用于为博客文章提供真实性能数据。 - docker-compose.yml: 四服务编排(hical/gin/actix/wrk),每容器 4 CPU / 512MB - run_bench.sh: 自动化压测脚本(4 场景 × 3 框架,wrk 4t100c 30s) - collect_stats.sh: 补充数据采集(内存/二进制大小/镜像大小/代码行数) - hical/: C++20 压测服务(Ubuntu 24.04 + Conan 2 + Boost) - gin/: Go 1.22 压测服务(Alpine 多阶段构建) - actix/: Rust Actix-web 4 压测服务(lto + strip 优化) - wrk/: Alpine + wrk 压测客户端容器 - BENCHMARK_REPORT.md: 三轮平均值压测报告 - results.md / stats.md: 原始数据 同时在根 CMakeLists.txt 中新增 HICAL_BUILD_BENCH 选项(默认 OFF), 为 Docker 构建提供 bench_server target。
Configuration menu - View commit details
-
Copy full SHA for f181e21 - Browse repository at this point
Copy the full SHA f181e21View commit details -
[fix] AsyncFileSink::write() 在缓冲区从空变非空时立即唤醒后台线程
coverage 构建下 condition_variable_any::wait_for(stop_token) 开销被插桩放大, 小数据量 write 不触发 notify 导致后台线程只能等 flushInterval 超时唤醒, BasicWrite 测试因此超过 60s 超时。 - write() 新增 wasBufEmpty 检测,从空到非空时 notify_one - notify_one 移到锁外减少持锁时间 - BasicWrite 移除冗余 sleep_for(flush() 本身是同步握手)
Configuration menu - View commit details
-
Copy full SHA for 2851010 - Browse repository at this point
Copy the full SHA 2851010View commit details -
[chore] 合并 deploy/ 和 docker/ 目录结构
- docker/test/: 多平台编译测试(原 docker/ 下的 Dockerfile + 根目录 docker-compose.test.yml) - docker/prod/: 生产级部署(原 deploy/ 全部内容) - 更新所有路径引用(CMakeLists.txt、Dockerfile、compose、.dockerignore、README)
Configuration menu - View commit details
-
Copy full SHA for e7677d4 - Browse repository at this point
Copy the full SHA e7677d4View commit details -
- Boost 版本锁定到 1.90.0,避免 1.91.0 cobalt_io_ssl 组件构建失败 - MySQL 镜像从 8.0 升级到 8.4(8.0 已从 Docker Hub 下架)
Configuration menu - View commit details
-
Copy full SHA for 95118e2 - Browse repository at this point
Copy the full SHA 95118e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b02463 - Browse repository at this point
Copy the full SHA 5b02463View commit details
Commits on May 8, 2026
-
[feat] v2.5.1 SyncMiddleware快速路径 + 多io_context架构 + PMR优化
- 新增 SyncBeforeHandler/SyncAfterHandler 零协程帧中间件 - buildOptimizedChain() 连续Sync条目合并为单协程帧 - HttpServer 改为 1Thread:1io_context 架构(baseLoop + EventLoopPool) - handleSession() 请求级PMR池改为栈上monotonic + thread-local upstream - 新增 MemoryPool::threadLocalPool() / HttpServer::recommendedMaxConnections() - RouteGroup 接入 buildOptimizedChain 优化路径 - clang20-tidy Dockerfile 集成 fix-comment-indent.py 检查 - 新增 6 篇技术博客(编译器差异/协程/MySQL/日志/PMR/部署)
Configuration menu - View commit details
-
Copy full SHA for 6b23e31 - Browse repository at this point
Copy the full SHA 6b23e31View commit details -
[fix] Conan Publish: MSVC 改用 Ninja + vcvarsall 避免 VS 发现失败
windows-latest runner 镜像更新后 CMake 的 VS Generator 无法通过 vswhere 发现 VS 实例,导致 bzip2 等依赖构建失败。 改为 vcvarsall.bat 注入编译器环境 + Ninja generator,不再依赖 VS 发现机制。
Configuration menu - View commit details
-
Copy full SHA for f2bec80 - Browse repository at this point
Copy the full SHA f2bec80View commit details -
[fix] 修复 clang-format 格式问题,gcc14 Dockerfile 集成格式检查
- HttpServer.h/cpp 行尾注释对齐和三元表达式换行修正 - gcc14.Dockerfile 安装 clang-format-20,CMD 先检查格式再跑测试
Configuration menu - View commit details
-
Copy full SHA for 729d905 - Browse repository at this point
Copy the full SHA 729d905View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v2.5.0...v2.5.1