Performance (self-compiled vs. distributed)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have an installation of Git at /usr/local/bin/git managed by
Homebrew. I'm also tinkering with building my own Git (+ patches) to
experiment with new features. Today I used "make install …" to get
that in ~/bin/git, but I'm noticing some performance problems. My
shell prompt started coming back slower, especially in a large
monorepo.

For example, inside said monorepo (apologies in advance; output is on
a computer I can't easily copy from):

    hyperfine -Ni -w10 {/usr/local,$HOME}/bin/git
    …
    /usr/local/bin/git ran 4.99 +/- 1.69 times faster than ~/bin/git

The difference is 22ms +/- 6.5ms (15.3ms–56.3ms) compared to 109.7ms
+/- 17.8ms (91.1ms–159.9ms).

My build recipe was

    export DEVELOPER=1
    export XML_CATALOG_FILES=/usr/local/etc/xml/catalog
    make -j "$(nproc)" all doc
    make install install-doc install-html

Which differs somewhat from Homebrew's recipe (namely, Perl & Python
path aren't set; nor is USE_LIBPCRE nor INSTALL_SYMLINKS… I'm ignoring
the "extras" for now). I wouldn't particularly expect any of those to
create an issue, though.

Any tips on debugging this would be greatly appreciated.

Some other tidbits:

    ls -lh@ {/usr/local,$HOME}/bin/git
    -rwxr-xr-x@ … 4.4M … ~/bin/git
        com.apple.provenance     11B
    -r-xr-xr-x@ … 3.5M … /usr/local/bin/git
        com.apple.provenance     11B

I wondered if quarantining was at play, and this seems to indicate it
isn't. It is interesting that my binary is so much bigger!

Source I compiled: https://github.com/benknoble/git/tree/ps-jj

PS I also noticed we put all the RelNotes in
$prefix/share/doc/git-doc/RelNotes/*.adoc; I might have expected those
to get turned into HTML, too?

-- 
D. Ben Knoble





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux