http://subversion.tigris.org/issues/show_bug.cgi?id=4207
Issue #|4207
Summary|Speed up tmpfile creation
Component|subversion
Version|trunk
Platform|All
URL|
OS/Version|All
Status|NEW
Status whiteboard|
Keywords|
Resolution|
Issue type|ENHANCEMENT
Priority|P3
Subcomponent|libsvn_subr
Assigned to|issues@subversion
Reported by|dkobras
------- Additional comments from
dkobras@tigr... Thu Jul 19 08:58:07 -0700 2012 -------
(I've tried to send this patch to dev@, and user@ several weeks ago. None of
them seem to have made it to the lists. My best guess is they've ended up in
some moderator's /dev/null.)
Analyzing performance problems during the svn checkout of a project containing
several large directories--one with more than 1500 entries--, we've discovered
that libsvn_subr/io.c::svn_io_open_uniquely_named() is the culprit: When
creating temporary files in the prop-base subdirectory, the current
implementation leads to a high number of open() calls, proportional to the
square of the number of entries per directory. Most of these open() calls fail
with EEXIST.
Using a different scheme that essentially remembers (part of) the
last created temporary filename, most of these unsuccessful calls can be
avoided. (For the project in question, this reduced the total amount of
syscalls per checkout by almost 50 per cent, and significantly improved
checkout speed, especially on NFS filesystems where open() is relatively
expensive.)
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2991779
To unsubscribe from this discussion, e-mail: [
issues-unsubscribe@subv...].
opensubscriber is not affiliated with the authors of this message nor responsible for its content.