Mercurial > piecrust2
view .hgtags @ 411:e7b865f8f335
bake: Enable multiprocess baking.
Baking is now done by running a worker per CPU, and sending jobs to them.
This changes several things across the codebase:
* Ability to not cache things related to pages other than the 'main' page
(i.e. the page at the bottom of the execution stack).
* Decouple the baking process from the bake records, so only the main process
keeps track (and modifies) the bake record.
* Remove the need for 'batch page getters' and loading a page directly from
the page factories.
There are various smaller changes too included here, including support for
scope performance timers that are saved with the bake record and can be
printed out to the console. Yes I got carried away.
For testing, the in-memory 'mock' file-system doesn't work anymore, since
we're spawning processes, so this is replaced by a 'tmpfs' file-system which
is saved in temporary files on disk and deleted after tests have run.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 12 Jun 2015 17:09:19 -0700 |
parents | 563e2e84ef6e |
children | c582746cb7eb |
line wrap: on
line source
cb1ed436642caadf9d3f19c1750096b116e43606 2.0.0-alpha1 cb1ed436642caadf9d3f19c1750096b116e43606 2.0.0-alpha1 ecee3e8f35e57e4a606794a11fc6e8aba2734d2f 2.0.0-alpha1 ecee3e8f35e57e4a606794a11fc6e8aba2734d2f 2.0.0-alpha1 8f988aa54433e0c4aa036cd00bcfa5904d3be304 2.0.0-alpha1 fdb08d986384687959fe11640f058eac22c17b8f 2.0.0-alpha2 c80a3be091da98f00ccb8e3a1be628f7d6a68ae5 2.0.0-alpha3 d74ae33832ae4ca0d17b56ea862381517875ab0a 2.0.0-alpha4 d74ae33832ae4ca0d17b56ea862381517875ab0a 2.0.0-alpha4 028df35a690e55c95c8fae692c85b3d69dc6cc7e 2.0.0-alpha4 acc718ab56da2aeecce83a9fe8240f48f2b0b607 2.0.0a5 1ecc0c16ba64619e16c18a3d777ab5d461240628 2.0.0a6 3a496ffbb898108feba64a3dbaabb2cd2a7ee4a7 2.0.0a7 c2ca72fb7f0bf215a940613faa232b9bd2ee7471 2.0.0a8 5f0e5276c7cb30685a0abd6e0594919d329feac4 2.0.0a9 3890353d3e5a7b71d2a5062aad0b8949e058edd0 2.0.0a10 043b9d8304c798edce186eade4c3ffe2ae2f02de 2.0.0a11