From: Mike Taht <mike.taht@timesys.com>
To: Mike Taht <mike.taht@timesys.com>
Cc: git@vger.kernel.org
Subject: [PATCH] experimental - Performance of various compressors
Date: Wed, 20 Apr 2005 22:22:02 -0700 [thread overview]
Message-ID: <4267387A.6040602@timesys.com> (raw)
In-Reply-To: <426736AF.7000900@timesys.com>
Don't apply this patch and change GIT_COMPRESSION unless you know what
you are doing and why you are doing it. You will break an older version
of git. You may break a newer version of git. You have been warned.
I also note that there's a bzlib out there.
cache.h: 828d660ab82bb35a1ca632a2ba4620dc483889bd
--- a/cache.h
+++ b/cache.h
@@ -16,6 +16,8 @@
#include <openssl/sha.h>
#include <zlib.h>
+#define GIT_COMPRESSION Z_BEST_COMPRESSION
+
/*
* Basic data structures for the directory cache
*
sha1_file.c: 754e8b4e9ea8104df48152f875d6b874304e2a62
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -199,7 +199,7 @@ int write_sha1_file(char *buf, unsigned
/* Set it up */
memset(&stream, 0, sizeof(stream));
- deflateInit(&stream, Z_BEST_COMPRESSION);
+ deflateInit(&stream, GIT_COMPRESSION);
size = deflateBound(&stream, len);
compressed = malloc(size);
update-cache.c: a09883541c745c76413c62109a80f40df4b7a7fb
--- a/update-cache.c
+++ b/update-cache.c
@@ -40,7 +40,7 @@ static int index_fd(unsigned char *sha1,
SHA1_Final(sha1, &c);
memset(&stream, 0, sizeof(stream));
- deflateInit(&stream, Z_BEST_COMPRESSION);
+ deflateInit(&stream, GIT_COMPRESSION);
/*
* ASCII size + nul byte
Mike Taht wrote:
> Just to clarify this was a git add of the linux-2.6.11.7 sources (sorry,
> untimed) , and timing the git commit.
>
> Mo betta data latah.
>
> Mike Taht wrote:
>
>> I started rolling a tool to measure various aspects of git
>> performance. I will start looking at merge next, and at workloads
>> different from the kernel (gcc4 anyone?) ...
>>
>> The only data points worth sharing a this point are:
>>
>> That doing the compression at a level of 3, rather than the max of 9,
>> cuts the cpu time required for a big git commit by over half, and that
>> that actually translates into a win on the I/O to disk. (these tests
>> were performed on a dual opteron 842)
>>
>> The benefits of compression aren't very much for git right now.
>>
>> And: A big git commit is I/O bound. But we knew that. Maybe it's
>> possible to make it less I/O bound.
>>
>> Git branch: 7a4c67965de68ae7bc7aa1fde33f8eb9d8114697
>> Tree: 2.6.11.7 source tree
>> Branch: N/a
>> Merge File: N/a
>> HW: dual opteron 242
>> Mem: 1GB
>> Disk: seagate barracuda
>> Filesystem: Reiser3
>> Git add: N/a
>> Cache: Hot
>> Git Commit: 44.97user 5.94system 1:45.24elapsed 48%CPU
>> Git Merge:
>> Options:
>> Feature: Test of compression=9 (std git)
>>
>> du -s .git/objects 110106 # du is probably not the right thing
>> du -s --apparent-size .git/objects 58979
>>
>> Git branch: 9e272677621c91784cf2533123a41745178f0701
>> Tree: 2.6.11.7 source tree
>> Branch: N/a
>> Merge File: N/a
>> HW: dual opteron 242
>> Mem: 1GB
>> Disk: seagate barracuda
>> Disk mode: udma5
>> Filesystem: Reiser3
>> Git add: N/a
>> Cache: Hot
>> Git Commit: 16.79user 6.15system 1:21.92elapsed 28%CPU
>> Git Merge:
>> Options:
>> Feature: Test of compression=3 (std git)
>>
>> du -s .git/objects 115218
>> du -s --apparent-size .git/objects 64274
>>
>> There's some variety in the best/worst case timings for I/O for the
>> compressor=3 case...
>>
>> 16.79user 6.15system 1:21.92elapsed 28%CPU
>> 16.68user 5.71system 1:13.19elapsed 30%CPU
>
>
>
--
Mike Taht
""His mind is like a steel trap -- full of mice."
-- Foghorn Leghorn"
next prev parent reply other threads:[~2005-04-21 5:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-21 5:06 Performance of various compressors Mike Taht
2005-04-21 5:14 ` Mike Taht
2005-04-21 5:22 ` Mike Taht [this message]
2005-04-21 10:23 ` HOWTO: PATCH: don't hardcode path-to-bash, use sys/limits.h Klaus Robert Suetterlin
2005-04-21 14:31 ` Alecs King
2005-04-21 19:42 ` [PATCH] #!/bin/sh --> #!/usr/bin/env bash Alecs King
2005-04-22 7:37 ` H. Peter Anvin
2005-04-23 2:34 ` David A. Wheeler
2005-04-23 6:16 ` H. Peter Anvin
2005-04-22 20:38 ` Performance of various compressors Aaron Lehmann
2005-04-25 12:17 ` git I/O performance (was: Performance of various compressors) Klaus Robert Suetterlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4267387A.6040602@timesys.com \
--to=mike.taht@timesys.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).