llhttp - 高性能、高可维护的 HTTP 解析器


MIT
跨平台
TypeScript

软件简介

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%。