|
From: | Ken Brown |
Subject: | Re: Improving Emacs performance on Cygwin |
Date: | Tue, 27 Jul 2010 16:30:00 -0400 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1 |
On 7/27/2010 4:01 PM, Davis Herring wrote:
I would like to apply the following patch, which seems to give a substantial performance improvement on Cygwin (and obviously has no effect on other platforms). [...] #define DIRENTRY_NONEMPTY(p) ((p)->d_name[0] != 0) #else #define DIRENTRY_NONEMPTY(p) ((p)->d_ino)How can looking up d_name[0] be any slower than looking up d_ino? They're both already in memory (d_name is an array, not a pointer, even); are we really seeing a "substantial performance improvement" from a cache effect or something?
I don't know.
This is a question born of curiosity, not a criticism; so long as the relevant version of Cygwin is properly handled (as addressed elsewhere in the thread) simplifying the conditional is already a win.
My initial motivation was just to simplify the code and get rid of an unnecessary special case for Cygwin. I then thought I observed a performance improvement, but I could be wrong. I didn't make any measurements.
Ken
[Prev in Thread] | Current Thread | [Next in Thread] |