Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-2043

Preparing a commit for (hundreds of) thousands of files takes hours

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Invalid
    • Affects Version/s: all
    • Fix Version/s: unscheduled
    • Component/s: libsvn_client
    • Labels:

      Description

      While trying to find the memory leak described in issue 1964, I accidentally
      stumbled upon this issue. It took libsvn_client 4 hours to gather the
      information required to start the commit as described by the mail referenced in
      that issue (http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=71973).
      
      During these 4 hours, most of the time the CPU was used 96% or more by the svn
      executable.
      
      Scripts to reproduce soon to be attached.
      
      My testing was with trunk r10812 on a RH9 system modified to run a Linux 2.6.8.1
      kernel with a 3Ghz P4.
      
      Initial profiling output from OProfile (after running not more than a few minutes):
      
      [erik@bartje oprofile-0.8]$ opreport -l subversion/clients/cmdline/svn
      CPU: P4 / Xeon with 2 hyper-threads, speed 3000.77 MHz (estimated)
      Counted GLOBAL_POWER_EVENTS events (time during which processor is not stopped)
      with a unit mask of 0x01 (mandatory) count 100000
      samples  %        symbol name
      929008   92.5807  look_up_committable
      17624     1.7563  anonymous symbol from section .plt
      9896      0.9862  svn_utf__is_valid
      5547      0.5528  svn_path_canonicalize
      3658      0.3645  harvest_committables
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ehuelsmann Erik Huelsmann
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: