DEV Community · Show DEV9/7 09:4647

我们发布了一个基准测试不推荐的优化

We Shipped an Optimization Our Own Benchmark Said Not To

阅读原文
logq 是一个命令行日志查询工具,支持过滤、分组、计数、百分位和时间窗口,可处理任意大小的 JSONL/logfmt/plain-text 文件,静态二进制且零第三方依赖。在零依赖黑客松的 Track B 中构建。作者添加了一个标志,将最慢部分并行化到 8 个 goroutine,在真实 76.3MB 文件上测试,8 个 worker 耗时 7.558 秒,而 1 个 worker 仅 6.535 秒,慢 16%。尽管如此,他们仍然发布了该标志,并立即披露了性能数据。此外,他们用约 150 行基于标准库 encoding/json 的代码替换了 tidwall/gjson(拥有 10,420 个已知导入者),并设计了一个三值(MISSING/null/false)求值器,这是项目中最引以为傲的设计决策。他们在提交前两天添加 CI,但因未诊断的原因失败而移除。