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

Re: [PATCH] gitweb: Show project README if available

From
Junio C Hamano <junkio@cox.net>
Date
Oct 11, 2006, 19:32 UTC
Message-ID
<7v3b9utzqi.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<egje5k$5rn$1@sea.gmane.org>
Jakub Narebski <jnareb@gmail.com> writes:
Show 21 quoted lines
> Jeff King wrote:
>
>> On Wed, Oct 11, 2006 at 02:23:00PM +0200, Jakub Narebski wrote:
>> 
>>> Can any Perl expert tell us how Perl truly solve this? What is the best
>>> way to dump whole [remaining] contents of file (from filehandle) to STDOUT?
>> 
>> The same you would in C: read fix-sized buffers and dump them.
> [...]
>> Or you can use the File::Copy module, which is part of the standard
>> distribution (and I believe has been so for all perl5 versions, but I
>> could be wrong):
>
> And 
>
>         {
>                 local $/;
>                 print <$fd>;
>         }
>
> doesn't do the right thing?

Jakub, you asked for "the best way" not "any way that would produce a correct result". Your 4-liner is shorter in the source but it risks slurping a 10 megabyte file into memory first, only to discard it after immediately writing it out.

You can strace your Perl to see what yours does yourself:
	strace perl -e 'print <STDIN>' >/dev/null <some-huge-file

You will see a bunch of read(0, ..., 4096) and after all of that finishes, finally you will see a bunch of write(1, ..., 4096). Where do you think the data is in the meantime?

Jeff gave you better ways that do not have that problem.
Previous: Jakub NarebskiNext: Jakub Narebski
Message 13 of 14 in “gitweb: Show project README if available”
  1. gitweb: Show project README if availablePetr Baudis, Oct 10, 2006
  2. Junio C HamanoOct 10, 2006
  3. Junio C HamanoOct 10, 2006
  4. Petr BaudisOct 10, 2006
  5. Jakub NarebskiOct 10, 2006
  6. Luben TuikovOct 10, 2006
  7. Andreas EricssonOct 10, 2006
  8. Jakub NarebskiOct 10, 2006
  9. Petr BaudisOct 10, 2006
  10. Jakub NarebskiOct 11, 2006
  11. Jeff KingOct 11, 2006
  12. Jakub NarebskiOct 11, 2006
  13. Junio C HamanoOct 11, 2006
  14. Jakub NarebskiOct 11, 2006

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.