Mercurial > hg
diff doc/Makefile @ 49899:3eef8baf6b92
worker: avoid reading 1 byte at a time from the OS pipe
Apparently `pickle.load` does a lot of small reads, many of them
literally 1-byte, so it benefits greatly from buffering.
This change enables the buffering, at the cost of more complicated
interaction with the `selector` API.
On one repository with ~400k files this reduces the time by about ~30s,
from ~60 to ~30s. The difference is so large because the actual updating
work is parallellized, while these small reads are bottlenecking the
central hg process.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Fri, 06 Jan 2023 15:17:14 +0000 |
parents | dc101c236219 |
children | 2a875530a023 |