<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">Thomas De Schampheleire <<a href="mailto:patrickdepinguin@gmail.com">patrickdepinguin@gmail.com</a>> schrieb am So., 4. Feb. 2018 um 13:04 Uhr:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Feb 4, 2018 12:32, "Dominik Ruf" <<a href="mailto:dominikruf@gmail.com" target="_blank">dominikruf@gmail.com</a>> wrote:<br type="attribution"><blockquote class="m_458977134507633883quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_458977134507633883elided-text"><br><br><div class="gmail_quote"><div dir="ltr">On Sun, Feb 4, 2018, 12:03 Mads Kiilerich <<a href="mailto:mads@kiilerich.com" target="_blank">mads@kiilerich.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
    <div class="m_458977134507633883m_3146897717906079163m_2968977218115094156moz-cite-prefix">On 02/03/2018 10:12 PM, Dominik Ruf
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr"><br>
        <div class="gmail_quote">
          <div dir="ltr">Mads Kiilerich <<a href="mailto:mads@kiilerich.com" target="_blank">mads@kiilerich.com</a>>
            schrieb am Sa., 3. Feb. 2018 um 19:32 Uhr:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On
            02/01/2018 12:50 AM, Dominik Ruf wrote:<br>
            > Hi all,<br>
            ><br>
            > I'm currently looking at the caching Kallithea does.
            And I'm a<br>
            > bit...baffled.<br>
            <br>
            Yes, it is quite baffling and not very efficient.<br>
            <br>
            I think it very rarely gives any real benefit - it might
            even make<br>
            things slower. In real world setups with multiple
            repositories served by<br>
            each worker process, cache hits are quite rare.</blockquote>
          <div>For large git repositories we certainly do need caching.</div>
        </div>
      </div>
    </blockquote>
    <br></div><div text="#000000" bgcolor="#FFFFFF">
    Perhaps. But it is probably a very different kind of caching we
    need.</div></blockquote></div></div><div>Displaying a changelog page with 100 changesets currently takes 54 seconds even with the current caching for the Linux Kernel.</div><div>I'm about to make some changes that will get this down to about 2.5 seconds. But of course this also depends on caching.</div></blockquote></div></div></div><div dir="auto"><br></div></div><div dir="auto"><div dir="auto">This is with a hot cache, ie not just invalidated?</div></div></blockquote><div>Yes with 'hot cache'. Without cache it is about 70 seconds.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Do you see the same for a similar mercurial repository, or is it specific to git? What makes the difference?</div></div></blockquote><div>I don't know any hg repositories with 900000+ revisions.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Is this on an SSD disk or spinning disk?</div></div></blockquote><div>SSD </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">In our old installation we had performance problems with a large (mercurial) repo with many heads (review repo where nothing ever gets merged), particularly after invalidating of the cache. After upgrading Kallithea we were able to bump mercurial (which was supposed to have improvements to dealing with many heads), and additionally convert our repos to the generaldelta storage format. Now performance is relatively fine. Loading a changelog page definitely does not take 54 seconds, with both cold and hot cache.</div></div></blockquote><div>Here is what I did so far.</div><div><a href="https://kallithea.dominikruf.com/kallithea/kallithea-domruf/changeset/89934e26b1fe4e4c5ef36416e1afbb22299233e7">https://kallithea.dominikruf.com/kallithea/kallithea-domruf/changeset/89934e26b1fe4e4c5ef36416e1afbb22299233e7</a></div><div> </div></div></div>