load_repo: fix the class leak for sharedrepo source as well
Previous fixes have been developed and measured in a Python 3.9 virtualenv (HDK). Replaying the measurements in a Python 3.8 HDK (the only supported Python version in all current Heptapod branches) immediately showed that this wasn't enough. After reconstruction of the virtualenv with Python 3.8, it became obvious that repository instances (and classes) where doubled, and the reason was the systematic instantiation of a sharedrepo source. Applying the same treatment for the latter got us back to the improvement previously obtained. It seems frankly dubious that the Python version is really implicated, but it could happen: we're after all dealing with stuff that the GC didn't clear by itself. Still, it could simply have been a matter of library version (not Mercurial, it's the same one).
Loading
Please register or sign in to comment