On 1/10/2011 12:21 PM, Nick Kew wrote: > > Thought experiment: supposing everything were merged into a single > configuration walk. What could that look like, and what breaks?
Essentially, each request and sub-request would have to redundantly re-merge many prior merges as <If > and other conditions were reevaluated. But it isn't quite as a bad as it sounds; for each If that breaks, you end up with result caches of the two possible outcomes. In fact, it would be possible to optimize the predicted paths at startup by premerging, and we simply have to take both forks of <If > to do so successfully. What I find more interesting is dumping server config sections and treating everything as per-dir sections, servers included. Of course, it isn't necessary for a module (think about core) to store everything in a single layer, things that change together should be part of a common config structure, less frequently changed things (zero copy) would be per server, or even global config structs. But the API itself becomes half as complex. That said, the later half of this thought is not a 2.4 feature, it would require the 3.0 bump.
