[darcs-devel] [issue2438] patch index creation makes cloning much slower
Guillaume Hoffmann
bugs at darcs.net
Wed Feb 18 03:05:56 UTC 2015
New submission from Guillaume Hoffmann <guillaumh at gmail.com>:
Cloning a repository with a big history (eg darcs.net with > 11K
patches) can be 2 times or 3 times slower with patch index creation
(currently enabled by default).
I took the case of cloning a local darcs.net repository with a hot hard
drive cache. On an Intel Atom netbook, cloning is approx. 3 times
slower. On a more modern i3 netbook cloning is approx. 2 times slower.
Apart from the slowness, another problem is that PI creation at cloning
is not announced by a message, and it is not ctrl-c'able (or better: it
is but the user only sees a message telling that the cloned repository
is lazy).
I don't know if it is computationnally possible to make patch index
creation *faster* than what it is now.
So a couple of easy fixes I can imagine are:
* disable patch index by default at clone and init and in repositories
that do not explicitely have a patch index. This would leave us only
with "darcs optimize enable-patch-index" to create it.
* disable patch index on cloning and initializing, enable it only when
running annotate or log with a file argument, when the repository is
writeable.
Attached are the figures of the informal benchmarks I ran, they are
quite reproduceable (with current darcs HEAD).
----------
files: timing_PI_atom
messages: 18148
milestone: 2.10.0 HEAD
nosy: bsrkaditya, gh, jaredj, kowey
status: unknown
title: patch index creation makes cloning much slower
topic: PatchIndex, Performance, ProbablyEasy
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue2438>
__________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: timing_PI_atom
Type: application/octet-stream
Size: 815 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-devel/attachments/20150218/aa308312/attachment.obj>
More information about the darcs-devel
mailing list