swh:1:snp:bb8853bfef8fcf2b1d37fd6404912c7606c98e48
Revision f43ba60e2c3bec4925eee229fa0f420dd1296f0c authored by Linus Torvalds on 13 April 2006, 17:01:02 UTC, committed by Junio C Hamano on 13 April 2006, 18:26:56 UTC
This trivially avoids keeping the commit message data around after we don't need it any more, avoiding a continually growing "git log" memory footprint. It's not a huge deal, but it's somewhat noticeable. For the current kernel tree, doing a full "git log" I got - before: /usr/bin/time git log > /dev/null 0.81user 0.02system 0:00.84elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+8851minor)pagefaults 0swaps - after: /usr/bin/time git log > /dev/null 0.79user 0.03system 0:00.83elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+5039minor)pagefaults 0swaps ie the touched pages dropped from 8851 to 5039. For the historic kernel archive, the numbers are 18357->11037 minor page faults. We could/should in theory free the commits themselves, but that's really a lot harder, since during revision traversal we may hit the same commit twice through different children having it as a parent, even after we've shown it once (when that happens, we'll silently ignore it next time, but we still need the "struct commit" to know). And as the commit message data is clearly the biggest part of the commit, this is the really easy 60% solution. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent d533524
Tip revision: 19981daefd7c147444462739375462b49412ce33 authored by Junio C Hamano on 05 April 2024, 17:49:37 UTC
The fifteenth batch
The fifteenth batch
Tip revision: 19981da
File | Mode | Size |
---|---|---|
Documentation | ||
arm | ||
compat | ||
contrib | ||
mozilla-sha1 | ||
ppc | ||
t | ||
templates | ||
xdiff | ||
.gitignore | -rw-r--r-- | 1.8 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 669 bytes |
INSTALL | -rw-r--r-- | 4.4 KB |
Makefile | -rw-r--r-- | 18.9 KB |
README | -rw-r--r-- | 24.7 KB |
apply.c | -rw-r--r-- | 48.7 KB |
blame.c | -rw-r--r-- | 20.0 KB |
blob.c | -rw-r--r-- | 1.2 KB |
blob.h | -rw-r--r-- | 311 bytes |
cache.h | -rw-r--r-- | 12.7 KB |
cat-file.c | -rw-r--r-- | 3.5 KB |
check-ref-format.c | -rw-r--r-- | 248 bytes |
checkout-index.c | -rw-r--r-- | 7.4 KB |
clone-pack.c | -rw-r--r-- | 3.9 KB |
combine-diff.c | -rw-r--r-- | 22.5 KB |
commit-tree.c | -rw-r--r-- | 3.2 KB |
commit.c | -rw-r--r-- | 15.8 KB |
commit.h | -rw-r--r-- | 2.9 KB |
config.c | -rw-r--r-- | 12.5 KB |
connect.c | -rw-r--r-- | 14.2 KB |
convert-objects.c | -rw-r--r-- | 7.2 KB |
copy.c | -rw-r--r-- | 692 bytes |
csum-file.c | -rw-r--r-- | 2.9 KB |
csum-file.h | -rw-r--r-- | 566 bytes |
ctype.c | -rw-r--r-- | 890 bytes |
daemon.c | -rw-r--r-- | 16.2 KB |
date.c | -rw-r--r-- | 14.5 KB |
delta.h | -rw-r--r-- | 955 bytes |
describe.c | -rw-r--r-- | 3.6 KB |
diff-delta.c | -rw-r--r-- | 7.0 KB |
diff-files.c | -rw-r--r-- | 5.1 KB |
diff-index.c | -rw-r--r-- | 5.6 KB |
diff-stages.c | -rw-r--r-- | 2.4 KB |
diff-tree.c | -rw-r--r-- | 3.2 KB |
diff.c | -rw-r--r-- | 36.0 KB |
diff.h | -rw-r--r-- | 4.9 KB |
diffcore-break.c | -rw-r--r-- | 8.5 KB |
diffcore-delta.c | -rw-r--r-- | 5.1 KB |
diffcore-order.c | -rw-r--r-- | 2.2 KB |
diffcore-pickaxe.c | -rw-r--r-- | 3.2 KB |
diffcore-rename.c | -rw-r--r-- | 12.4 KB |
diffcore.h | -rw-r--r-- | 3.7 KB |
entry.c | -rw-r--r-- | 4.1 KB |
environment.c | -rw-r--r-- | 1.9 KB |
exec_cmd.c | -rw-r--r-- | 2.3 KB |
exec_cmd.h | -rw-r--r-- | 295 bytes |
fetch-clone.c | -rw-r--r-- | 5.5 KB |
fetch-pack.c | -rw-r--r-- | 10.4 KB |
fetch.c | -rw-r--r-- | 4.7 KB |
fetch.h | -rw-r--r-- | 1.4 KB |
fsck-objects.c | -rw-r--r-- | 12.2 KB |
generate-cmdlist.sh | -rwxr-xr-x | 562 bytes |
get-tar-commit-id.c | -rw-r--r-- | 514 bytes |
git-add.sh | -rwxr-xr-x | 786 bytes |
git-am.sh | -rwxr-xr-x | 10.0 KB |
git-annotate.perl | -rwxr-xr-x | 10.7 KB |
git-applymbox.sh | -rwxr-xr-x | 2.8 KB |
git-applypatch.sh | -rwxr-xr-x | 5.4 KB |
git-archimport.perl | -rwxr-xr-x | 34.2 KB |
git-bisect.sh | -rwxr-xr-x | 5.7 KB |
git-branch.sh | -rwxr-xr-x | 2.4 KB |
git-checkout.sh | -rwxr-xr-x | 4.7 KB |
git-cherry.sh | -rwxr-xr-x | 1.9 KB |
git-clean.sh | -rwxr-xr-x | 1.3 KB |
git-clone.sh | -rwxr-xr-x | 9.7 KB |
git-commit.sh | -rwxr-xr-x | 14.6 KB |
git-compat-util.h | -rw-r--r-- | 3.4 KB |
git-count-objects.sh | -rwxr-xr-x | 706 bytes |
git-cvsexportcommit.perl | -rwxr-xr-x | 6.5 KB |
git-cvsimport.perl | -rwxr-xr-x | 22.4 KB |
git-cvsserver.perl | -rwxr-xr-x | 85.9 KB |
git-diff.sh | -rwxr-xr-x | 1.5 KB |
git-fetch.sh | -rwxr-xr-x | 9.5 KB |
git-fmt-merge-msg.perl | -rwxr-xr-x | 3.2 KB |
git-format-patch.sh | -rwxr-xr-x | 8.0 KB |
git-grep.sh | -rwxr-xr-x | 1000 bytes |
git-log.sh | -rwxr-xr-x | 372 bytes |
git-lost-found.sh | -rwxr-xr-x | 461 bytes |
git-ls-remote.sh | -rwxr-xr-x | 1.8 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 2.7 KB |
git-merge-ours.sh | -rwxr-xr-x | 356 bytes |
git-merge-recursive.py | -rwxr-xr-x | 30.8 KB |
git-merge-resolve.sh | -rwxr-xr-x | 955 bytes |
git-merge-stupid.sh | -rwxr-xr-x | 1.4 KB |
git-merge.sh | -rwxr-xr-x | 7.2 KB |
git-mv.perl | -rwxr-xr-x | 5.6 KB |
git-parse-remote.sh | -rwxr-xr-x | 4.2 KB |
git-prune.sh | -rwxr-xr-x | 783 bytes |
git-pull.sh | -rwxr-xr-x | 2.5 KB |
git-push.sh | -rwxr-xr-x | 1.7 KB |
git-rebase.sh | -rwxr-xr-x | 3.0 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-repack.sh | -rwxr-xr-x | 1.6 KB |
git-request-pull.sh | -rwxr-xr-x | 856 bytes |
git-rerere.perl | -rwxr-xr-x | 4.8 KB |
git-reset.sh | -rwxr-xr-x | 2.2 KB |
git-resolve.sh | -rwxr-xr-x | 2.4 KB |
git-revert.sh | -rwxr-xr-x | 4.0 KB |
git-rm.sh | -rwxr-xr-x | 1.0 KB |
git-send-email.perl | -rwxr-xr-x | 10.6 KB |
git-sh-setup.sh | -rwxr-xr-x | 1.0 KB |
git-shortlog.perl | -rwxr-xr-x | 4.0 KB |
git-svnimport.perl | -rwxr-xr-x | 22.1 KB |
git-tag.sh | -rwxr-xr-x | 2.3 KB |
git-verify-tag.sh | -rwxr-xr-x | 703 bytes |
git-whatchanged.sh | -rwxr-xr-x | 934 bytes |
git.c | -rw-r--r-- | 11.5 KB |
git.spec.in | -rw-r--r-- | 6.3 KB |
gitMergeCommon.py | -rw-r--r-- | 6.9 KB |
gitk | -rwxr-xr-x | 107.7 KB |
hash-object.c | -rw-r--r-- | 1.8 KB |
http-fetch.c | -rw-r--r-- | 31.0 KB |
http-push.c | -rw-r--r-- | 66.4 KB |
http.c | -rw-r--r-- | 10.8 KB |
http.h | -rw-r--r-- | 2.3 KB |
ident.c | -rw-r--r-- | 5.2 KB |
imap-send.c | -rw-r--r-- | 28.9 KB |
index-pack.c | -rw-r--r-- | 11.6 KB |
index.c | -rw-r--r-- | 1.1 KB |
init-db.c | -rw-r--r-- | 7.4 KB |
local-fetch.c | -rw-r--r-- | 5.7 KB |
log-tree.c | -rw-r--r-- | 4.5 KB |
log-tree.h | -rw-r--r-- | 560 bytes |
ls-files.c | -rw-r--r-- | 18.4 KB |
ls-tree.c | -rw-r--r-- | 3.4 KB |
mailinfo.c | -rw-r--r-- | 16.1 KB |
mailsplit.c | -rw-r--r-- | 3.9 KB |
merge-base.c | -rw-r--r-- | 6.0 KB |
merge-index.c | -rw-r--r-- | 2.6 KB |
merge-tree.c | -rw-r--r-- | 4.4 KB |
mktag.c | -rw-r--r-- | 3.1 KB |
mktree.c | -rw-r--r-- | 3.1 KB |
name-rev.c | -rw-r--r-- | 5.3 KB |
object.c | -rw-r--r-- | 5.7 KB |
object.h | -rw-r--r-- | 1.5 KB |
pack-check.c | -rw-r--r-- | 4.2 KB |
pack-objects.c | -rw-r--r-- | 33.1 KB |
pack-redundant.c | -rw-r--r-- | 14.2 KB |
pack.h | -rw-r--r-- | 818 bytes |
pager.c | -rw-r--r-- | 701 bytes |
patch-delta.c | -rw-r--r-- | 2.1 KB |
patch-id.c | -rw-r--r-- | 1.5 KB |
path.c | -rw-r--r-- | 5.3 KB |
peek-remote.c | -rw-r--r-- | 1.0 KB |
pkt-line.c | -rw-r--r-- | 2.4 KB |
pkt-line.h | -rw-r--r-- | 270 bytes |
prune-packed.c | -rw-r--r-- | 1.5 KB |
quote.c | -rw-r--r-- | 5.6 KB |
quote.h | -rw-r--r-- | 1.5 KB |
read-cache.c | -rw-r--r-- | 16.9 KB |
read-tree.c | -rw-r--r-- | 17.8 KB |
receive-pack.c | -rw-r--r-- | 7.6 KB |
refs.c | -rw-r--r-- | 8.5 KB |
refs.h | -rw-r--r-- | 1.0 KB |
repo-config.c | -rw-r--r-- | 3.1 KB |
rev-list.c | -rw-r--r-- | 8.7 KB |
rev-parse.c | -rw-r--r-- | 6.8 KB |
revision.c | -rw-r--r-- | 19.2 KB |
revision.h | -rw-r--r-- | 1.9 KB |
rsh.c | -rw-r--r-- | 2.2 KB |
rsh.h | -rw-r--r-- | 159 bytes |
run-command.c | -rw-r--r-- | 1.5 KB |
run-command.h | -rw-r--r-- | 523 bytes |
send-pack.c | -rw-r--r-- | 9.2 KB |
server-info.c | -rw-r--r-- | 5.1 KB |
setup.c | -rw-r--r-- | 4.4 KB |
sha1_file.c | -rw-r--r-- | 37.9 KB |
sha1_name.c | -rw-r--r-- | 10.1 KB |
shell.c | -rw-r--r-- | 1.1 KB |
show-branch.c | -rw-r--r-- | 17.6 KB |
show-index.c | -rw-r--r-- | 593 bytes |
ssh-fetch.c | -rw-r--r-- | 3.5 KB |
ssh-pull.c | -rw-r--r-- | 154 bytes |
ssh-push.c | -rw-r--r-- | 155 bytes |
ssh-upload.c | -rw-r--r-- | 2.8 KB |
strbuf.c | -rw-r--r-- | 807 bytes |
strbuf.h | -rw-r--r-- | 216 bytes |
stripspace.c | -rw-r--r-- | 918 bytes |
symbolic-ref.c | -rw-r--r-- | 785 bytes |
tag.c | -rw-r--r-- | 2.6 KB |
tag.h | -rw-r--r-- | 471 bytes |
tar-tree.c | -rw-r--r-- | 8.4 KB |
tar.h | -rw-r--r-- | 644 bytes |
test-date.c | -rw-r--r-- | 416 bytes |
test-delta.c | -rw-r--r-- | 1.8 KB |
tree-diff.c | -rw-r--r-- | 5.7 KB |
tree-walk.c | -rw-r--r-- | 2.4 KB |
tree-walk.h | -rw-r--r-- | 633 bytes |
tree.c | -rw-r--r-- | 5.5 KB |
tree.h | -rw-r--r-- | 1.1 KB |
unpack-file.c | -rw-r--r-- | 763 bytes |
unpack-objects.c | -rw-r--r-- | 6.7 KB |
update-index.c | -rw-r--r-- | 14.7 KB |
update-ref.c | -rw-r--r-- | 2.0 KB |
update-server-info.c | -rw-r--r-- | 457 bytes |
upload-pack.c | -rw-r--r-- | 6.3 KB |
usage.c | -rw-r--r-- | 639 bytes |
var.c | -rw-r--r-- | 1.3 KB |
verify-pack.c | -rw-r--r-- | 1.1 KB |
write-tree.c | -rw-r--r-- | 3.9 KB |
xdiff-interface.c | -rw-r--r-- | 2.2 KB |
xdiff-interface.h | -rw-r--r-- | 446 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...