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

Re: [PATCH 3/3] grep: avoid one strdup() per file

From
Jeff King <peff@peff.net>
Date
Feb 15, 2018, 22:18 UTC
Message-ID
<20180215221837.GC23970@sigill.intra.peff.net>
In-Reply-To
<20180215215615.21208-4-rv@rasmusvillemoes.dk>
On Thu, Feb 15, 2018 at 10:56:15PM +0100, Rasmus Villemoes wrote:
Show 6 quoted lines
> There is only one instance of grep_source_init(GREP_SOURCE_FILE), and in
> that case the path and identifier arguments are equal - not just as
> strings, but the same pointer is passed. So we can save some time and
> memory by reusing the gs->path = xstrdup_or_null(path) we have already
> done as gs->identifier, and changing grep_source_clear accordingly
> to avoid a double free.

IMHO this special case is not really worth it, unless we can show that those few bytes saved somehow make a measurable difference in either peak memory or execution speed.

-Peff
Previous: Rasmus VillemoesNext: Rasmus Villemoes
Message 6 of 12 in “a few grep patches”
  1. 0/3 a few grep patchesRasmus Villemoes, Feb 15, 2018
  2. 1/3 grep: move grep_source_init outside critical sectionRasmus Villemoes, Feb 15, 2018
  3. Jeff KingFeb 15, 2018
  4. Junio C HamanoFeb 16, 2018
  5. 3/3 grep: avoid one strdup() per fileRasmus Villemoes, Feb 15, 2018
  6. Jeff KingFeb 15, 2018
  7. 2/3 grep: simplify grep_oid and grep_fileRasmus Villemoes, Feb 15, 2018
  8. Brandon WilliamsFeb 15, 2018
  9. 0/2 two small grep patchesRasmus Villemoes, Feb 23, 2018
  10. 2/2 grep: simplify grep_oid and grep_fileRasmus Villemoes, Feb 23, 2018
  11. 1/2 grep: move grep_source_init outside critical sectionRasmus Villemoes, Feb 23, 2018
  12. Jeff KingFeb 23, 2018

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.