2d2a5dea81
Our codec implementation originally just parsed single messages out of the stream buffer. However, if a query returns a bunch of rows, we're spending a ton of time shipping those individual messages from the connection back to the Query stream. Instead, collect blocks of unparsed messages that are as large as possible and send those back. This cuts the processing time of the following query in half, from ~10 seconds to ~5: `SELECT s.n, 'name' || s.n FROM generate_series(0, 9999999) AS s(n)` At this point, almost all of the remainder of the time is spent parsing the rows. cc #450 |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
CHANGELOG.md | ||
LICENSE-APACHE | ||
LICENSE-MIT |