unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).