[Bug 4623] New: Another performance regression in blame (2.4s to 74s)

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Apr 24 21:08:22 UTC 2015


http://bz.selenic.com/show_bug.cgi?id=4623

          Priority: normal
            Bug ID: 4623
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Another performance regression in blame (2.4s to 74s)
          Severity: bug
    Classification: Unclassified
                OS: All
          Reporter: gregory.szorc at gmail.com
          Hardware: All
            Status: UNCONFIRMED
           Version: 3.4-rc
         Component: Mercurial
           Product: Mercurial

STR:

1) hg clone https://hg.mozilla.org/releases/mozilla-beta
2) hg blame -r b0a57152fd14 browser/app/profile/firefox.js

3.2.4 completes in ~2.4s. 3.4RC/@/stable completes in ~74s.

Partial profile result:

$ hg --time blame -r b0a57152fd14 browser/app/profile/firefox.js --pager=false
--profile
^C   CallCount    Recursive     Total(s)    Inline(s) module:lineno(function)
     1060173            0     15.5305     15.5305   <zlib.decompress>
      170688            0      2.2485      2.2485   <method 'read' of 'file'
objects>
      308630            0     28.1233      2.1416  
mercurial.revlog:976(_chunks)
     1306214            0     15.9668      0.5827      
mercurial.revlog:81(decompress)
      477351            0      9.1143      0.5563      
mercurial.revlog:964(_chunkraw)
     1306214            0      0.5293      0.5293      
mercurial.revlog:349(start)
     1306214            0      0.2371      0.2371      
mercurial.revlog:353(length)
     1306214            0      0.1341      0.1341       <method 'append' of
'list' objects>
      308631            0     36.5422      1.9998  
mercurial.revlog:1035(revision)
      308630            0     28.1233      2.1416      
mercurial.revlog:976(_chunks)
      308629            0      1.8021      1.8021      
<mercurial.mpatch.patches>
      308629            0      3.8111      0.2875      
mercurial.revlog:1109(_checkhash)
      306624            0      0.3113      0.2268      
mercurial.changelog:208(node)
      306624            0      0.2919      0.2099      
mercurial.changelog:226(flags)
      308629            0      1.8021      1.8021   <mercurial.mpatch.patches>
      306624            0     23.5962      1.6353  
mercurial.changelog:306(read)
      306624            0     19.5380      1.6521      
mercurial.revlog:1035(revision)
      613246            0      0.3947      0.3947       <method 'split' of
'str' objects>
      306623            0      0.2623      0.2623       <method 'index' of
'str' objects>
      613246            0      1.4009      0.2619      
mercurial.encoding:83(tolocal)
      306623            0      0.1866      0.1866       <binascii.unhexlify>
      617258            0      1.5758      1.5758   <method 'update' of
'_hashlib.HASH' objects>
      170697            0      1.2468      1.2468   <open>
        1889            0      0.9508      0.9508   <mercurial.bdiff.blocks>
     2265292            0      0.9266      0.9266   mercurial.revlog:349(start)
      170682            0      0.7977      0.7703  
mercurial.revlog:921(_addchunk)
      271434            0      0.0274      0.0274       <len>
      170683            0      7.3415      0.6792  
mercurial.revlog:929(_loadchunk)
      170683            0      2.2300      2.2300       <method 'read' of
'file' objects>
      170682            0      0.7977      0.7703      
mercurial.revlog:921(_addchunk)
interrupted!
time: real 46.770 secs (user 41.510+0.000 sys 5.240+0.000)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list