Re: [PATCH 3/2] Avoid unnecessary strlen() calls

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Sunday, March 18, 2007 - 8:54 am

On Sun, 18 Mar 2007, Junio C Hamano wrote:

That's an interesting test-case (and I get 53 seconds, nyaah, nyaah ;)

However, it's almost totally *not* about object access any more with my 
patches. All the top profiling hits are about generating the patches and 
assigning blame:

	samples  %        image name               app name                 symbol name
	470352   15.5813  git                      git                      xdl_hash_record
	298683    9.8944  git                      git                      cmp_suspect
	225156    7.4587  git                      git                      assign_blame
	221308    7.3312  libc-2.5.so              libc-2.5.so              memcpy
	177621    5.8840  libc-2.5.so              libc-2.5.so              memchr
	163571    5.4186  vmlinux                  vmlinux                  __copy_user_nocache
	129301    4.2833  git                      git                      xdl_prepare_ctx
	99009     3.2799  libc-2.5.so              libc-2.5.so              _int_malloc
	83899     2.7793  git                      git                      xdiff_outf
	80588     2.6696  libz.so.1.2.3            libz.so.1.2.3            (no symbols)
	..

so as you can see, libz is down in the 2.5% range, and strlen and the tree 
accessor functions are totally un the noise. 

So it looks like it *used* to be somewhat of a problem (the object access 
itself must have been about 10 seconds, since that got shaved off the 
time), but realistically, if you want to speed up "git blame", we can 
totally ignore the git object data structures, an dconcentrate on xdiff 
and on blame itself (cmp_suspect and assign_blame probably have some nasty 
O(n^2) behaviour or something like that, that could hopefully be fixed 
fairly easily. The xdl hashing is a different thing, and I don't think 
it's necessarily easy to fix that one..)

			Linus
-
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:
cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:04 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Thu Mar 15, 6:10 pm)
Re: cleaner/better zlib sources?, Jeff Garzik, (Thu Mar 15, 6:11 pm)
Re: cleaner/better zlib sources?, Matt Mackall, (Thu Mar 15, 6:14 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 6:33 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:46 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:54 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 7:06 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 7:43 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 7:56 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 8:16 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:21 am)
Re: cleaner/better zlib sources?, Davide Libenzi, (Fri Mar 16, 9:24 am)
Re: cleaner/better zlib sources?, Jeff Garzik, (Fri Mar 16, 9:35 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:35 am)
Re: cleaner/better zlib sources?, Matt Mackall, (Fri Mar 16, 9:42 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:51 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 10:06 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 10:12 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 10:51 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 11:09 am)
Re: cleaner/better zlib sources?, Davide Libenzi, (Fri Mar 16, 12:21 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Fri Mar 16, 4:22 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 5:01 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 6:11 pm)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 8:28 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Fri Mar 16, 10:19 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Sat Mar 17, 10:55 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Sat Mar 17, 12:40 pm)
[PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 12:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 2:45 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sat Mar 17, 3:37 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 3:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:09 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sat Mar 17, 4:12 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:24 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Jon Smirl, (Sat Mar 17, 4:52 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:54 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 6:13 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Morten Welinder, (Sat Mar 17, 6:14 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:29 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 6:38 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:55 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 7:03 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 7:20 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 8:00 pm)
[PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sat Mar 17, 8:06 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 8:31 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Julian Phillips, (Sat Mar 17, 10:30 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Avi Kivity, (Sat Mar 17, 11:28 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sun Mar 18, 12:47 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Sun Mar 18, 2:45 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Sun Mar 18, 3:53 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 8:54 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 8:57 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sun Mar 18, 10:23 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sun Mar 18, 10:34 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Sun Mar 18, 11:29 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Shawn O. Pearce, (Sun Mar 18, 2:25 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Sun Mar 18, 2:38 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 2:48 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, David Brodsky, (Mon Mar 19, 6:16 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Johannes Schindelin, (Mon Mar 19, 8:05 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Mon Mar 19, 8:16 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 8:29 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 8:40 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:11 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 9:18 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:31 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 9:39 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:45 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:57 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Mon Mar 19, 10:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Mon Mar 19, 11:35 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, David Brodsky, (Tue Mar 20, 2:13 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Tue Mar 20, 7:37 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Tue Mar 20, 7:54 pm)