Re: Git and GCC

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Miller
Date: Monday, December 10, 2007 - 2:57 am

From: David Miller <davem@davemloft.net>
Date: Fri, 07 Dec 2007 04:53:29 -0800 (PST)


While doing the initial object counting, most of the time is spent in
lookup_object(), memcmp() (via hashcmp()), and inflate().  I tried to
see if I could do some tricks on sparc with the hashcmp() but the sha1
pointers are very often not even 4 byte aligned.

I suspect lookup_object() could be improved if it didn't use a hash
table without chaining, but I can see why 'struct object' size is a
concern and thus why things are done the way they are.

samples  %        app name                 symbol name
504      13.7517  libc-2.6.1.so            memcmp
386      10.5321  libz.so.1.2.3.3          inflate
288       7.8581  git                      lookup_object
248       6.7667  libz.so.1.2.3.3          inflate_fast
201       5.4843  libz.so.1.2.3.3          inflate_table
175       4.7749  git                      decode_tree_entry
 ...

Deltifying is %94 consumed by create_delta(), the rest is completely
in the noise.

samples  %        app name                 symbol name
10581    94.8373  git                      create_delta
181       1.6223  git                      create_delta_index
72        0.6453  git                      prepare_pack
55        0.4930  libc-2.6.1.so            loop
34        0.3047  libz.so.1.2.3.3          inflate_fast
33        0.2958  libc-2.6.1.so            _int_malloc
22        0.1972  libshadow.so             shadowUpdatePacked
21        0.1882  libc-2.6.1.so            _int_free
19        0.1703  libc-2.6.1.so            malloc
 ...
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Git and GCC, David Miller, (Wed Dec 5, 7:52 pm)
Re: Git and GCC, Daniel Berlin, (Wed Dec 5, 8:47 pm)
Re: Git and GCC, David Miller, (Wed Dec 5, 9:20 pm)
Re: Git and GCC, Harvey Harrison, (Wed Dec 5, 9:25 pm)
Re: Git and GCC, Harvey Harrison, (Wed Dec 5, 9:28 pm)
Re: Git and GCC, Daniel Berlin, (Wed Dec 5, 9:32 pm)
Re: Git and GCC, David Miller, (Wed Dec 5, 9:48 pm)
Re: Git and GCC, Linus Torvalds, (Wed Dec 5, 9:54 pm)
Re: Git and GCC, Harvey Harrison, (Wed Dec 5, 10:04 pm)
Re: Git and GCC, Daniel Berlin, (Wed Dec 5, 10:11 pm)
Re: Git and GCC, Harvey Harrison, (Wed Dec 5, 10:15 pm)
Re: Git and GCC, Daniel Berlin, (Wed Dec 5, 10:17 pm)
Re: Git and GCC, Linus Torvalds, (Wed Dec 5, 11:09 pm)
Re: Git and GCC, Jon Smirl, (Wed Dec 5, 11:47 pm)
Re: Git and GCC, Jeff King, (Thu Dec 6, 12:15 am)
Re: Git and GCC, Harvey Harrison, (Thu Dec 6, 12:49 am)
Re: Git and GCC, David Brown, (Thu Dec 6, 1:11 am)
Re: Git and GCC, Johannes Schindelin, (Thu Dec 6, 4:57 am)
[PATCH] gc --aggressive: make it really aggressive, Johannes Schindelin, (Thu Dec 6, 5:03 am)
Re: Git and GCC, Ismail , (Thu Dec 6, 5:04 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Theodore Tso, (Thu Dec 6, 6:42 am)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 7:01 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Nicolas Pitre, (Thu Dec 6, 7:15 am)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 7:18 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Pierre Habouzit, (Thu Dec 6, 7:22 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Harvey Harrison, (Thu Dec 6, 8:30 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Johannes Schindelin, (Thu Dec 6, 8:55 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Johannes Schindelin, (Thu Dec 6, 8:56 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Linus Torvalds, (Thu Dec 6, 9:19 am)
Re: [PATCH] gc --aggressive: make it really aggressive, David Kastrup, (Thu Dec 6, 10:05 am)
Re: Git and GCC, Jeff King, (Thu Dec 6, 10:39 am)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 11:02 am)
Re: Git and GCC, Daniel Berlin, (Thu Dec 6, 11:04 am)
Re: Git and GCC, NightStrike, (Thu Dec 6, 11:24 am)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 11:29 am)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 11:35 am)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 11:45 am)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 11:55 am)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 12:08 pm)
Re: Git and GCC, Jon Loeliger, (Thu Dec 6, 12:12 pm)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 12:39 pm)
Re: Git and GCC, Junio C Hamano, (Thu Dec 6, 1:04 pm)
Re: Git and GCC, Junio C Hamano, (Thu Dec 6, 2:02 pm)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 2:39 pm)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 3:08 pm)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 3:11 pm)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 3:22 pm)
Re: Git and GCC, David Kastrup, (Thu Dec 6, 3:26 pm)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 3:30 pm)
[OT] Re: Git and GCC, Randy Dunlap, (Thu Dec 6, 3:38 pm)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 3:44 pm)
Re: Git and GCC, Jakub Narebski, (Thu Dec 6, 5:29 pm)
Re: Git and GCC, Harvey Harrison, (Thu Dec 6, 7:42 pm)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 8:01 pm)
Re: Git and GCC, David Miller, (Thu Dec 6, 8:31 pm)
Re: Git and GCC, Jon Smirl, (Thu Dec 6, 9:06 pm)
Re: Git and GCC, Nicolas Pitre, (Thu Dec 6, 9:21 pm)
Re: Git and GCC, Linus Torvalds, (Thu Dec 6, 10:21 pm)
Re: Git and GCC, NightStrike, (Thu Dec 6, 10:36 pm)
Re: Git and GCC, Jeff King, (Thu Dec 6, 11:38 pm)
Re: Git and GCC, Jeff King, (Thu Dec 6, 11:50 pm)
Re: Git and GCC, Jon Smirl, (Fri Dec 7, 12:08 am)
Re: Git and GCC, Jon Smirl, (Fri Dec 7, 12:10 am)
Re: Git and GCC, Jeff King, (Fri Dec 7, 12:27 am)
Re: Git and GCC, Jeff King, (Fri Dec 7, 12:31 am)
Re: Git and GCC, David Miller, (Fri Dec 7, 5:53 am)
Re: Git and GCC, Linus Torvalds, (Fri Dec 7, 10:23 am)
Re: Git and GCC, Nicolas Pitre, (Fri Dec 7, 12:36 pm)
Re: Git and GCC, Giovanni Bajo, (Fri Dec 7, 1:26 pm)
Re: Git and GCC, Jakub Narebski, (Fri Dec 7, 3:14 pm)
Re: Git and GCC, Luke Lu, (Fri Dec 7, 4:04 pm)
Re: Git and GCC, Giovanni Bajo, (Fri Dec 7, 4:14 pm)
Re: Git and GCC, Daniel Berlin, (Fri Dec 7, 4:33 pm)
Re: Git and GCC, Harvey Harrison, (Fri Dec 7, 5:47 pm)
Re: Git and GCC, David Miller, (Fri Dec 7, 6:55 pm)
Re: Git and GCC, Johannes Schindelin, (Sat Dec 8, 5:00 am)
Re: Git and GCC, Gabriel Paubert, (Mon Dec 10, 2:54 am)
Re: Git and GCC, David Miller, (Mon Dec 10, 2:57 am)
Re: Git and GCC, Nicolas Pitre, (Mon Dec 10, 8:35 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Johannes Schindelin, (Wed Mar 18, 9:01 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Teemu Likonen, (Wed Mar 18, 9:27 am)
Re: [PATCH] gc --aggressive: make it really aggressive, Nicolas Pitre, (Wed Mar 18, 11:02 am)