annotate contrib/docker/fedora20 @ 27784:432242f41d9f

obsolete: make _computeobsoleteset much faster This patch makes _computeobsoleteset much faster by looping over the draft and secrets as opposed to looping over the successors. This works because "number of draft and secret" is typically way smaller(<100) than the number of successor in the repo (~90k in my checkout of core mercurial as of today). And also because it is very fast to compute "not public()". I timed the code with the following setup: """ from mercurial import hg, ui, obsolete ui = ui.ui() repo = hg.repository(ui, "~/hg") l = repo.obsstore.successors # This caches the result """ With about 90k successors. k=obsolete._computeobsoleteset(repo) before this patch: 10 loops, best of 3: 33.9 ms per loop k=obsolete._computeobsoleteset(repo) after this patch: 10000 loops, best of 3: 83.3 µs per loop
author Laurent Charignon <lc2817@columbia.edu>
date Wed, 13 Jan 2016 21:52:26 -0800
parents 49ea49823769
children 1baa077214ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22442
77da9c03be60 docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents: 21255
diff changeset
1 FROM fedora:20
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2 RUN yum install -y gcc
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
3 RUN yum install -y python-devel python-docutils
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
4 RUN yum install -y make
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
5 RUN yum install -y rpm-build
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6 RUN yum install -y gettext
22444
49ea49823769 dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents: 22442
diff changeset
7 # For creating repo meta data
49ea49823769 dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents: 22442
diff changeset
8 RUN yum install -y createrepo