Jeff King <peff@xxxxxxxx> writes: > On Mon, Mar 18, 2013 at 09:44:20AM -0700, Junio C Hamano wrote: > >> FWIW, I am getting something like this on my >> >> $ grep 'model name' /proc/cpuinfo | uniq -c >> 4 model name : Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz >> >> The same "rev-list --objects --all >/dev/null", best of five: >> >> [current master, compiled with -O2] >> real 0m39.956s >> user 0m39.562s >> sys 0m0.396s >> >> [revert 1a812f3 (i.e., go back to memcmp), -O2] >> real 0m42.161s >> user 0m41.879s >> sys 0m0.284s >> >> It could be that the difference may be how well memcmp() is >> optimized, no? My box runs Debian with libc6 2.11.3-4 and gcc >> 4.4.5. > > Yeah, that would make sense. I have libc6 2.13-38 and gcc 4.7.2 (debian > unstable). Just for fun, here is a totally unrelated comparison, both with current master, compiled with -O2 and running on the same box. [without GIT_USE_LOOKUP] real 0m39.906s real 0m40.020s real 0m40.022s real 0m40.027s real 0m40.146s [with GIT_USE_LOOKUP] real 0m40.336s real 0m40.376s real 0m40.452s real 0m40.503s real 0m40.572s Maybe the Newton-Raphson is right as a concept (it does seem to result in fewer minor-faults) but the current code is implemented poorly and has a huge room for improvement? [without GIT_USE_LOOKUP] 0inputs+0outputs (0major+182895minor)pagefaults 0swaps 0inputs+0outputs (0major+182920minor)pagefaults 0swaps 0inputs+0outputs (0major+183004minor)pagefaults 0swaps 0inputs+0outputs (0major+183006minor)pagefaults 0swaps 0inputs+0outputs (0major+183036minor)pagefaults 0swaps [with GIT_USE_LOOKUP] 0inputs+0outputs (0major+182803minor)pagefaults 0swaps 0inputs+0outputs (0major+182886minor)pagefaults 0swaps 0inputs+0outputs (0major+182967minor)pagefaults 0swaps 0inputs+0outputs (0major+182997minor)pagefaults 0swaps 0inputs+0outputs (0major+182998minor)pagefaults 0swaps -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html