|
From: | Bill Hoffman |
Subject: | Re: performance issue with cgywin make |
Date: | Sat, 09 Dec 2006 08:27:29 -0500 |
User-agent: | Thunderbird 1.5.0.8 (Windows/20061025) |
Eli Zaretskii wrote:
Since nmake is performing about 2X faster than gmake, the likely culprit is stat. This all started because a cmake user was trying to switch from nmake to gmake,Date: Fri, 08 Dec 2006 21:46:18 -0500 From: Bill Hoffman <address@hidden> So, the windows native stat is about 3 X faster.This is not really a valid conclusion: `stat' does much more than just get the file's attributes via a single Win32 API call. And Make does use the result of the other API calls, such as st_ino, st_dev, and st_mode, for example.
and found it so much slower, then I remembered the change we made in cmake.stat does do more, but I would assume that make is mostly interested in comparing
file modification times, and ignores the rest of those values.I will poke around in the gmake sources and try to figure out if I can replace some of the stat calls. It looks like I can just change name_mtime in remake.c it uses st_mode in one place but only to check for symlinks. I could maybe have a fast mtime if check_symlink_flag is not set, in that case only the file time is used. One issue is that FILE_TIMESTAMP is a uintmax_t and the windows call uses __int64 for the time stamp.
-Bill
[Prev in Thread] | Current Thread | [Next in Thread] |