语言JavaScript证据
jp-map-filter-chain — 已测量,仍有提示
状态
提示。实时时钟 JSONL:jp-map-filter-chain.jsonl。未经过语料筛选。2026-10-22 的语料判定不涵盖此标识符。
测量
examples/bench/evidence_jp005_jp006.js。三次热身运行后九轮;中位数。双方构建结果数组并求和。Node v24.18.0,V8 13.6.233.17-node.50。
ratio 是链时间 / 一次通行时间。成本随着长度和通行次数的增加而增加。
| 角色 | 情况 | 中位数毫秒 | 操作次数 | 比率 |
|---|---|---|---|---|
| 之前 | 3 行,先过滤再映射,× 20000 | 0.289 | 60000 | 1.276 |
| 之后 | 一次传递 | 0.226 | 60000 | 1 |
| 之前 | 3 行,四个过滤器然后映射,× 20000 | 0.761 | 60000 | 3.460 |
| 之后 | 一次传递 | 0.220 | 60000 | 1 |
| 之前 | 100 行,先过滤再映射,× 2000 | 0.504 | 200000 | 1.228 |
| 之后 | 一次传递 | 0.410 | 200000 | 1 |
| 之前 | 100 行,四个筛选器然后映射,× 2000 | 1.026 | 200000 | 2.487 |
| 之后 | 一次传递 | 0.413 | 200000 | 1 |
| 之前 | 35000 行,先过滤然后映射,× 20 | 8.728 | 700000 | 4.598 |
| 之后 | 一次通过 | 1.898 | 700000 | 1 |
| 之前 | 35000 行,四个过滤器然后映射,× 20 | 12.850 | 700000 | 9.841 |
| 之后 | 一次通过 | 1.306 | 700000 | 1 |
对 3 行数据进行 filter 然后 map 的速度是 1.28×,低于大约 2× 的标杆。对 3 行数据进行四次遍历是 3.46×,而 20000 次调用仍然在 0.76 毫秒内完成。在 35000 行数据上,一次遍历大约是 4.6×(一次 filter)和大约 9.8×(四次 filter)。这些是不同的成本。提示是这么说的,它并没有说每个链条都必须重写。
匹配器在查找之前会去掉 // 注释和块注释。它不知道数组的长度,也不需要循环。生成的 gen-* 文件仍然会被跳过。
解阻条件
不要仅从这个文件将默认值设置为 error。一个短数组、一条冷路径或另一个引擎都可能抹去差异。默认更改之前仍然需要语料分流。