llhttp高性能、高可维护的 HTTP 解析器
llhttp 是一个高性能、高可维护的 HTTP 解析器。它是一个 http_parser 到 llparse 的接口,llparse 是用于将增量解析器编译为 C 输出和 LLVM bitcode 的 API,它可以编译并与嵌入式程序(如 Node.js)链接。
Node.js 中的 http_parser 实际上可维护性极差,这正是 llhttp 的发力之处, 它希望达到以下几个目标:
可维护
可验证
尽可能提高性能
目前 llhttp 的性能优于 http_parser:
input size | bandwidth | reqs/sec | time | |
---|---|---|---|---|
llhttp (C) | 8192.00 mb | 1497.88 mb/s | 3020458.87 ops/sec | 5.47 s |
llhttp (bitcode) | 8192.00 mb | 1131.75 mb/s | 2282171.24 ops/sec | 7.24 s |
http_parser | 8192.00 mb | 694.66 mb/s | 1406180.33 req/sec | 11.79 s |
llhttp 快了大约 116%。
评论