Okay, so I talked a bit with mwhudson about that, and if it turns out that branches aren't thread-safe and can't be made thread-safe, then we can create the three simplified caches described in step 2, but only lazily, when they're needed. (That would be a big improvement since we only need the full-graph ones during RevLogUI and RevisionUI.)
Okay, so I talked a bit with mwhudson about that, and if it turns out that branches aren't thread-safe and can't be made thread-safe, then we can create the three simplified caches described in step 2, but only lazily, when they're needed. (That would be a big improvement since we only need the full-graph ones during RevLogUI and RevisionUI.)