返回首页
最新
嗨,HN,
我开发了 fastlog,这是一个用纯 C 语言编写的小型异步日志库。
其目标是在多线程负载下实现可预测的日志记录性能。传统的方法(如 fprintf、每个日志使用互斥锁的设计)在多个线程同时记录时往往会出现阻塞或扩展性差的问题。
fastlog 的设计采用了以下方法:
- 后台写入线程
- 批量处理,而不是逐条日志同步
- 在热路径上使用线程本地缓冲区(每次日志调用不使用锁)
在一台 4 核心的 Intel i3 系统上:
- 单线程性能与 fprintf 竞争力相当
- 多线程日志记录在竞争情况下的扩展性约提高了 1.6 倍
- 系统调用分析显示,与重锁设计相比,futex 调用减少了约 90%
它是一个单独的 .c/.h 文件,没有依赖,易于嵌入。
欢迎提问或反馈。
刚刚发布了 Playwright Recorder 的 v1.3.0 版本,主要特性是会话持久化。
<p>:测试认证流程需要在每次测试录制时手动重复登录步骤。对于复杂的认证(如单点登录、双因素认证),这会浪费大量时间。
<p>:点击“保存认证状态”以捕获浏览器状态(包括 cookies 和 localStorage)。在录制之前点击“加载认证状态”可以立即恢复认证。适用于任何认证方案。
<p>:
- 网络录制:自动捕获 HTTP 请求,生成 page.route() 模拟
- ARIA 选择器:生成 getByRole() 而不是 CSS 选择器
- 移动仿真:使用设备预设测试响应式设计
<p>这是一个 Chrome 扩展,可以记录浏览器交互并生成 JavaScript、TypeScript、Python、Java 或 C# 的 Playwright 测试代码。
<p>所有处理都在本地进行。采用 MIT 许可证,无依赖项。
面向图形用户界面(GUI)的多服务 gRPC 脚手架,适用于 AArch64 系统上的 Android 开发工具包风格工作流程。