SuperAPI AI 工具集

elixir-performance-review

通用与其它

查看项目

更新于 10-15 21:39

技能介绍

用途:对 Elixir 代码做性能审查,识别 GenServer 瓶颈、内存使用和并发模式等方面的问题,适用于评审高吞吐量或高并发场景的代码。

主要能力:提供按问题类型划分的快速参考,包括邮箱溢出与阻塞调用(references/genserver-bottlenecks.md)、ETS 使用场景与读写并发(references/ets-patterns.md)、二进制处理与大消息(references/memory.md)、Task 模式与流控(references/concurrency.md)。

检查清单:GenServer 方面关注是否为所有请求的单进程瓶颈、handle_call/cast 中是否存在阻塞操作、超时配置是否合理、读多场景是否考虑 ETS;内存方面关注大二进制是否在进程间复制、大数据转换是否使用 Streams、是否存在无界数据累积;并发方面关注动态任务是否使用 Task.Supervisor 而非原生 Task.async、是否无界创建进程、消息生产者是否有适当背压;数据库方面关注预加载避免 N+1、大结果集分页、常用查询索引。

不应误报的模式:低吞吐的单 GenServer、关键路径的同步调用、小状态未用 ETS、小集合用 Enum 而非 Stream。上下文相关规则:仅当 GenServer 每秒处理超过 1000 请求或回调中有阻塞 I/O 时才标记瓶颈;仅当处理超过 1 万条或读取大文件时才建议 Stream;仅当读写比超过 10:1 且存在并发访问时才建议 ETS。

提交前门禁:需先阅读并应用 review-verification-protocol 的检查;每条实质发现需给出 path:line 或 Module.function/arity 及引用片段;对上下文相关规则或瓶颈、N+1、无界增长、高内存/二进制开销等主张,需说明满足“仅当”条件的事实或附上分析器输出、SQL/日志片段、搜索范围等证据,否则降级为疑问或疑似。

限制:资料未提供具体安装命令、运行方式、收费标准或支持平台信息。