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

Re: [PATCH] mingw: emulate write(2) that fails with a EPIPE

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 17, 2015, 16:40 UTC
Message-ID
<xmqqegelc9k8.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<alpine.DEB.2.20.1512171037310.6483@virtualbox>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> My intuition (which I honestly did not verify using performance tests) was
> that write() is called *much* more often than, say, open(),...

My gut feeling agrees with yours, but I do not think the frequency at which write() is called should be the primary factor when you decide to make its wrapper inlined. Once you call write(2), you will hit either the disk or the network doing I/O, and at that point I'd expect that the cost of making an extra layer of wrapper call would be lost in the noise. I'd worry a lot more about from how many callsites write() is called---by inlining the extra code that is run only when the underlying write(2) returns an error to many callsites, we would make the program as a whole bigger, and as the result other code needs to be evicted out of the instruction cache, which also would hurt performance.

Previous: Johannes SchindelinNext: Johannes Schindelin
Message 4 of 13 in “mingw: emulate write(2) that fails with a EPIPE”
  1. mingw: emulate write(2) that fails with a EPIPEJohannes Schindelin, Dec 16, 2015
  2. Junio C HamanoDec 16, 2015
  3. Johannes SchindelinDec 17, 2015
  4. Junio C HamanoDec 17, 2015
  5. Johannes SchindelinDec 17, 2015
  6. Eric SunshineDec 16, 2015
  7. Junio C HamanoDec 16, 2015
  8. Johannes SchindelinDec 17, 2015
  9. mingw: emulate write(2) that fails with a EPIPEJohannes Schindelin, Dec 17, 2015
  10. Junio C HamanoDec 17, 2015
  11. Johannes SchindelinDec 18, 2015
  12. Johannes SixtDec 18, 2015
  13. Junio C HamanoDec 21, 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.