[darcs-devel] [issue1678] performance regression in check/whatsnew/record (2.3.x)
Kevin Quick
quick at sparq.org
Tue Jan 19 14:25:41 UTC 2010
Tried to update the bug with numbers, but got this:
MOD_PYTHON ERROR
ProcessId: 3595
Interpreter: 'bugs.darcs.net'
ServerName: 'bugs.darcs.net'
DocumentRoot: '/var/lib/roundup/trackers/darcs'
URI: '/issue1678'
Location: None
Directory: '/var/lib/roundup/trackers/'
Filename: '/var/lib/roundup/trackers/darcs/dummy.py'
PathInfo: '/issue1678'
Phase: 'PythonHandler'
Handler: 'roundup.cgi.apache'
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target
result = object(arg)
File "/usr/lib/python2.5/site-packages/roundup/cgi/apache.py", line 95, in handler
_tracker = roundup.instance.open(_home, not _debug)
File "/usr/lib/python2.5/site-packages/roundup/instance.py", line 257, in open
File "/usr/lib/python2.5/site-packages/roundup/instance.py", line 54, in __init__
File "/usr/lib/python2.5/site-packages/roundup/instance.py", line 79, in get_backend_name
IOError: [Errno 24] Too many open files: '/var/lib/roundup/trackers/darcs/db/backend_name'
Sending them via this email instead. Here are the numbers for both
the unrepaired and the repaired repo. Note that only the 2.2.0
numbers are valid for the unfixed repo are valid: 2.3.1 and the
current darcs both abort with the zip file error.
=== dtest ===
|| darcs2.2.0 | darcs2.3.1 | darcs.net
================++===================+===================+=================
get (full) || 30.6s 154.0M | 3.9s 159.0M | 29.4s 159.0M
get (lazy, x10) || 107.2s 7.0M | 3.1s 9.0M | 118.2s 8.0M
pull 100 || 16.4s 23.0M | 8.8s 29.0M | - -
annotate || - - | - - | - -
wh x50 || 290.4s 0.0M | 0.3s 0.0M | 38.4s 0.0M
wh mod x50 || 290.5s 10.0M | 8.4s 0.0M | 38.4s 0.0M
wh -l x20 || 368.2s 83.0M | 5.1s 74.0M | 16.9s 0.0M
check || 27.4s 274.0M | 5.0s 275.0M | - -
repair || 27.2s 272.0M | 4.8s 275.0M | 77.4s 392.0M
pull 1000 || 49.1s 85.0M | 0.4s 84.0M | 39.5s 84.0M
=== drepair ===
|| darcs2.2.0 | darcs2.3.1 | darcs.net
================++===================+===================+=================
get (full) || 29.6s 153.0M | 36.3s 160.0M | 32.8s 159.0M
get (lazy, x10) || 114.4s 5.0M | 114.3s 8.0M | 118.7s 7.0M
pull 100 || 18.3s 28.0M | 18.0s 25.0M | 7.2s 29.0M
annotate || - - | - - | - -
wh x50 || 317.5s 0.0M | 7.8s 0.0M | 9.8s 0.0M
wh mod x50 || 316.7s 11.0M | 8.0s 6.0M | 10.1s 4.0M
wh -l x20 || 412.3s 145.0M | 403.0s 128.0M | 12.3s 5.0M
check || 27.6s 224.0M | 34.7s 275.0M | 76.7s 410.0M
repair || 27.5s 275.0M | 34.1s 274.0M | 78.0s 392.0M
pull 1000 || 48.7s 84.0M | 49.3s 86.0M | 39.6s 84.0M
Type: darcs
Format: hashed
Pristine: HashedPristine
Num Patches: 2913
Max dir depth: 5
Files: 4842
-KQ
On Sun, Jan 17, 2010 at 04:46:12PM +0000, Petr Ročkai wrote:
>
> Petr Ročkai <me at mornfall.net> added the comment:
>
> > === darcs ===
> >
> > || darcs-2.2.1 | darcs-2.3.1 | darcs
> > ================++=====================+===================+===============
> > check || 11.7s 183.0M | 11.0s 55.0M | 42.4s 258.0M
> > repair || 11.8s 183.0M | 11.1s 55.0M | 44.2s 272.0M
> >
> >
> > === ghc-hashed ===
> >
> > || darcs-2.2.1 | darcs-2.3.1 | darcs
> > ================++======================+====================+===============
> > check || 172.3s 1210.0M | 160.5s 146.0M | - -
> > repair || 173.0s 1287.0M | 127.7s 146.0M | 1190.6s 355.0M
> >
> > For details, see
> > - http://lists.osuosl.org/pipermail/darcs-users/2010-January/022832.html
> > - http://lists.osuosl.org/pipermail/darcs-users/2010-January/022833.html
> I have fixed the worst part of this problem in hashed-storage. Currently
> only available in its darcs version.
>
> On my machine: darcs-2.3 = 1:53, darcs-HEAD = 2:49 (on ghc-hashed).
>
> That's still a substantial difference, but much less than 2:06 against
> almost 20 minutes. I don't think I will have the time to bring this
> further down in time for darcs 2.4, so we'll have to accept this as a
> price for the refactoring. (The primary cause for this was my crusade to
> remove SlurpDirectory which is not yet complete, but it is reasonably
> close to completion, so maybe in 2.5 we can get rid of that...)
>
> Yours,
> Petr.
>
> __________________________________
> Darcs bug tracker <bugs at darcs.net>
> <http://bugs.darcs.net/issue1678>
> __________________________________
More information about the darcs-devel
mailing list