|
From: | anonymous |
Subject: | [bug #30328] Fast echo (with code proposal) |
Date: | Fri, 02 Jul 2010 16:41:10 +0000 |
User-agent: | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) |
URL: <http://savannah.gnu.org/bugs/?30328> Summary: Fast echo (with code proposal) Project: make Submitted by: None Submitted on: Fri 02 Jul 2010 04:41:09 PM UTC Severity: 3 - Normal Item Group: Enhancement Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: CVS Operating System: Any Fixed Release: None Triage Status: None _______________________________________________________ Details: Hi, Elaborated build systems based on GNU make tend to employ many 'echo' commands in their receipes for logging/tracing purposes. These 'echo' commands (each and every creating a child process)introduce noticeable delay in those type of builds. This can very easily be avoided by handling "those" 'echo' commands internally. Fortunately construct_command_argv() already differentiates between "those" simple logging/tracing 'echo' commands and 'echo' commands i.e. redirecting their output into files: If construct_command_argv() comes to the conclusion that 'echo' can be called directly without a shell then it is save to go one step further and avoid a child process altogether. Please find attached the code to accomplish this. It is supposed to be inserted right after the (sort of similiar) optimization of empty commands in job.c. Oliver Schmidt - oliv.schmidt(at)sap.com _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Fri 02 Jul 2010 04:41:09 PM UTC Name: echo.c Size: 439B By: None <http://savannah.gnu.org/bugs/download.php?file_id=20881> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?30328> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |