* Improving Emacs performance on Cygwin
@ 2010-07-26 21:00 Ken Brown
2010-07-26 21:56 ` Stefan Monnier
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Ken Brown @ 2010-07-26 21:00 UTC (permalink / raw
To: emacs-devel
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).
=== modified file 'src/dired.c'
--- src/dired.c 2010-07-25 00:20:51 +0000
+++ src/dired.c 2010-07-26 20:49:34 +0000
@@ -72,8 +72,7 @@
#endif /* not MSDOS */
#endif /* not SYSV_SYSTEM_DIR */
-/* Some versions of Cygwin don't have d_ino in `struct dirent'. */
-#if defined(MSDOS) || defined(__CYGWIN__)
+#ifdef MSDOS
#define DIRENTRY_NONEMPTY(p) ((p)->d_name[0] != 0)
#else
#define DIRENTRY_NONEMPTY(p) ((p)->d_ino)
This reverses a change made by Eli on 2006-01-27. Rationale: The time
when Cygwin didn't have d_ino in dirent was a brief period around
December 2005, and it applied only to Cygwin 1.5.19, which has long been
obsolete.
Any objections? If not, I would apply it to the emacs-23 branch and let
it propagate to the trunk.
Ken
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-26 21:00 Improving Emacs performance on Cygwin Ken Brown
@ 2010-07-26 21:56 ` Stefan Monnier
2010-07-27 2:55 ` Eli Zaretskii
2010-07-27 20:01 ` Davis Herring
2 siblings, 0 replies; 12+ messages in thread
From: Stefan Monnier @ 2010-07-26 21:56 UTC (permalink / raw
To: Ken Brown; +Cc: emacs-devel
> Any objections? If not, I would apply it to the emacs-23 branch and let it
> propagate to the trunk.
Sounds good to me,
Stefan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-26 21:00 Improving Emacs performance on Cygwin Ken Brown
2010-07-26 21:56 ` Stefan Monnier
@ 2010-07-27 2:55 ` Eli Zaretskii
2010-07-27 11:07 ` Ken Brown
2010-07-27 20:01 ` Davis Herring
2 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2010-07-27 2:55 UTC (permalink / raw
To: Ken Brown; +Cc: emacs-devel
> Date: Mon, 26 Jul 2010 17:00:06 -0400
> From: Ken Brown <kbrown@cornell.edu>
>
> This reverses a change made by Eli on 2006-01-27. Rationale: The time
> when Cygwin didn't have d_ino in dirent was a brief period around
> December 2005, and it applied only to Cygwin 1.5.19, which has long been
> obsolete.
Cygwin 1.5.19 is obsolete, but are you willing to make it completely
unsupported by Emacs?
If you don't want to drop it completely, then maybe condition on the
version of Cygwin that is installed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 2:55 ` Eli Zaretskii
@ 2010-07-27 11:07 ` Ken Brown
2010-07-27 17:07 ` Eli Zaretskii
0 siblings, 1 reply; 12+ messages in thread
From: Ken Brown @ 2010-07-27 11:07 UTC (permalink / raw
To: Eli Zaretskii; +Cc: emacs-devel@gnu.org
On 7/26/2010 10:55 PM, Eli Zaretskii wrote:
>> Date: Mon, 26 Jul 2010 17:00:06 -0400
>> From: Ken Brown<kbrown@cornell.edu>
>>
>> This reverses a change made by Eli on 2006-01-27. Rationale: The time
>> when Cygwin didn't have d_ino in dirent was a brief period around
>> December 2005, and it applied only to Cygwin 1.5.19, which has long been
>> obsolete.
>
> Cygwin 1.5.19 is obsolete, but are you willing to make it completely
> unsupported by Emacs?
I think that's OK. There will never be another Emacs release for Cygwin
1.5 (which was frozen at 1.5.25), so the change will only affect people
who are running Cygwin 1.5.19, don't want to upgrade to 1.5.25, *and*
want to build a modern Emacs from source. This seems pretty unlikely,
and any such person can just revert my change before building.
Ken
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 11:07 ` Ken Brown
@ 2010-07-27 17:07 ` Eli Zaretskii
2010-07-27 18:01 ` Ken Brown
0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2010-07-27 17:07 UTC (permalink / raw
To: Ken Brown; +Cc: emacs-devel
> Date: Tue, 27 Jul 2010 07:07:42 -0400
> From: Ken Brown <kbrown@cornell.edu>
> Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
>
> > Cygwin 1.5.19 is obsolete, but are you willing to make it completely
> > unsupported by Emacs?
>
> I think that's OK. There will never be another Emacs release for Cygwin
> 1.5 (which was frozen at 1.5.25), so the change will only affect people
> who are running Cygwin 1.5.19, don't want to upgrade to 1.5.25, *and*
> want to build a modern Emacs from source. This seems pretty unlikely,
> and any such person can just revert my change before building.
They wouldn't know what to revert.
Anyway, it's your call, but maybe post something to the Cygwin list
announcing that Emacs 23.3 and later is dropping Cygwin 1.5 support.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 17:07 ` Eli Zaretskii
@ 2010-07-27 18:01 ` Ken Brown
2010-07-27 19:12 ` Chad Brown
0 siblings, 1 reply; 12+ messages in thread
From: Ken Brown @ 2010-07-27 18:01 UTC (permalink / raw
To: Eli Zaretskii; +Cc: emacs-devel@gnu.org
On 7/27/2010 1:07 PM, Eli Zaretskii wrote:
>> Date: Tue, 27 Jul 2010 07:07:42 -0400
>> From: Ken Brown<kbrown@cornell.edu>
>> Cc: "emacs-devel@gnu.org"<emacs-devel@gnu.org>
>>
>>> Cygwin 1.5.19 is obsolete, but are you willing to make it completely
>>> unsupported by Emacs?
>>
>> I think that's OK. There will never be another Emacs release for Cygwin
>> 1.5 (which was frozen at 1.5.25), so the change will only affect people
>> who are running Cygwin 1.5.19, don't want to upgrade to 1.5.25, *and*
>> want to build a modern Emacs from source. This seems pretty unlikely,
>> and any such person can just revert my change before building.
>
> They wouldn't know what to revert.
>
> Anyway, it's your call, but maybe post something to the Cygwin list
> announcing that Emacs 23.3 and later is dropping Cygwin 1.5 support.
OK, I'll do that when Emacs 23.3 is released and packaged for Cygwin.
Thanks for the suggestion. BTW, it's only Cygwin 1.5.19 that's
affected. People running Cygwin 1.5.20 and later should still be able
to build Emacs AFAIK.
Ken
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 18:01 ` Ken Brown
@ 2010-07-27 19:12 ` Chad Brown
2010-07-27 19:53 ` Ken Brown
0 siblings, 1 reply; 12+ messages in thread
From: Chad Brown @ 2010-07-27 19:12 UTC (permalink / raw
To: Ken Brown; +Cc: Emacs development discussions
On Jul 27, 2010, at 11:01 AM, Ken Brown wrote:
>
> OK, I'll do that when Emacs 23.3 is released and packaged for Cygwin. Thanks for the suggestion. BTW, it's only Cygwin 1.5.19 that's affected. People running Cygwin 1.5.20 and later should still be able to build Emacs AFAIK.
Note in etc/problems, perhaps?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 19:12 ` Chad Brown
@ 2010-07-27 19:53 ` Ken Brown
0 siblings, 0 replies; 12+ messages in thread
From: Ken Brown @ 2010-07-27 19:53 UTC (permalink / raw
To: Chad Brown; +Cc: Emacs development discussions
On 7/27/2010 3:12 PM, Chad Brown wrote:
> Note in etc/problems, perhaps?
Done.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-26 21:00 Improving Emacs performance on Cygwin Ken Brown
2010-07-26 21:56 ` Stefan Monnier
2010-07-27 2:55 ` Eli Zaretskii
@ 2010-07-27 20:01 ` Davis Herring
2010-07-27 20:30 ` Ken Brown
2010-07-29 19:39 ` Bazar trouble Alessandro Madruga Correia
2 siblings, 2 replies; 12+ messages in thread
From: Davis Herring @ 2010-07-27 20:01 UTC (permalink / raw
To: Ken Brown; +Cc: emacs-devel
> 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?
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.
Davis
--
This product is sold by volume, not by mass. If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Improving Emacs performance on Cygwin
2010-07-27 20:01 ` Davis Herring
@ 2010-07-27 20:30 ` Ken Brown
2010-07-29 19:39 ` Bazar trouble Alessandro Madruga Correia
1 sibling, 0 replies; 12+ messages in thread
From: Ken Brown @ 2010-07-27 20:30 UTC (permalink / raw
To: herring@lanl.gov; +Cc: emacs-devel
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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Bazar trouble
2010-07-27 20:01 ` Davis Herring
2010-07-27 20:30 ` Ken Brown
@ 2010-07-29 19:39 ` Alessandro Madruga Correia
2010-07-29 20:26 ` Óscar Fuentes
1 sibling, 1 reply; 12+ messages in thread
From: Alessandro Madruga Correia @ 2010-07-29 19:39 UTC (permalink / raw
To: Emacs Dev [emacs-devel]
Hi,
Have anyone place which I can download repository?
I waited for 4 hours and don't finish, so closed connection.
And now, I can't connect...
amcorreia@phoenix:t$ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk
bzr: ERROR: Connection error: while sending POST
/r/emacs/trunk/.bzr/smart: [Errno 110] Connection timed out
Best regards.
PS: excuse my poor english.
--
,= ,-_-. =. [<o>] Alessandro Madruga Correia
((_/)o o(\_)) Viaconnect -- Suporte Técnico +55 (54) 4009 3444
`-'(. .)`-' "A matemática é a arte de transformar uma coisa...
\_/ ... na mesma coisa." (Demétrius Melo de Souza)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Bazar trouble
2010-07-29 19:39 ` Bazar trouble Alessandro Madruga Correia
@ 2010-07-29 20:26 ` Óscar Fuentes
0 siblings, 0 replies; 12+ messages in thread
From: Óscar Fuentes @ 2010-07-29 20:26 UTC (permalink / raw
To: emacs-devel; +Cc: Alessandro Madruga Correia
Alessandro Madruga Correia <amcorreia@viaconnect.com.br> writes:
> Have anyone place which I can download repository?
> I waited for 4 hours and don't finish, so closed connection.
You can try using the mirror at LaunchPad:
bzr branch http://bazaar.launchpad.net/~vcs-imports/emacs/trunk emacs
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-07-29 20:26 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-26 21:00 Improving Emacs performance on Cygwin Ken Brown
2010-07-26 21:56 ` Stefan Monnier
2010-07-27 2:55 ` Eli Zaretskii
2010-07-27 11:07 ` Ken Brown
2010-07-27 17:07 ` Eli Zaretskii
2010-07-27 18:01 ` Ken Brown
2010-07-27 19:12 ` Chad Brown
2010-07-27 19:53 ` Ken Brown
2010-07-27 20:01 ` Davis Herring
2010-07-27 20:30 ` Ken Brown
2010-07-29 19:39 ` Bazar trouble Alessandro Madruga Correia
2010-07-29 20:26 ` Óscar Fuentes
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.