rust-postgres/postgres-protocol
Steven Fackler 2d2a5dea81 Send response messages in blocks
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
2019-06-27 21:47:13 -07:00
..
src Send response messages in blocks 2019-06-27 21:47:13 -07:00
Cargo.toml Upgrade fallible-iterator 2019-03-10 16:32:28 -07:00
CHANGELOG.md Release postgres-protocol v0.4.0 2019-03-05 19:09:48 -08:00
LICENSE-APACHE Move postgres-protocol in-tree 2017-03-12 13:46:01 -07:00
LICENSE-MIT Move postgres-protocol in-tree 2017-03-12 13:46:01 -07:00