git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] hex.c: reduce memory footprint of sha1_to_hex static buffers

From
Stefan Beller <sbeller@google.com>
Date
Feb 13, 2015, 21:56 UTC
Message-ID
<CAGZ79kaEun-mEQPg7cmPV7RJR8A+BxSsSpeAQgcsuJn8L4TGEg@mail.gmail.com>
In-Reply-To
<xmqq7fvlmqu8.fsf@gitster.dls.corp.google.com>
On Fri, Feb 13, 2015 at 1:41 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 14 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> 41 bytes is the exact number of bytes needed for having the returned
>> hex string represented. 50 seems to be an arbitrary number, such
>> that there are no benefits from alignment to certain address boundaries.
>
> Yes, with s/seems to be/is/;
>
> This comes from e83c5163 (Initial revision of "git", the information
> manager from hell, 2005-04-07), and when dcb3450f (sha1_to_hex()
> usage cleanup, 2006-05-03) introduced the "4 recycled buffers" on
> top, the underlying array was left at 50 bytes long.
>
> You can now have "I fixed Linus's bug" badge ;-)
I don't think it's a bug, it's just wasting memory?

As I could not find any documentation on the magical 50 in the early days, I cc'd Linus in case there is something I did not think of yet.

Previous: Junio C HamanoNext: Linus Torvalds
Message 3 of 5 in “hex.c: reduce memory footprint of sha1_to_hex static buffers”
  1. hex.c: reduce memory footprint of sha1_to_hex static buffersStefan Beller, Feb 13, 2015
  2. Junio C HamanoFeb 13, 2015
  3. Stefan BellerFeb 13, 2015
  4. Linus TorvaldsFeb 13, 2015
  5. Junio C HamanoFeb 13, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.