unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-22 19:30 Using GDB in NTEMACS Jon Cast
@ 2002-02-22 19:55 ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2002-02-22 19:55 UTC (permalink / raw)
  Cc: emacs-devel

> From: Jon Cast <jcast@ou.edu>
> Date: Fri, 22 Feb 2002 13:30:17 -0600
> 
> A quick interjection: I /am/ willing to work on a Cygwin build of
> Emacs, if that would be accepted here.

Sure, please go ahead.  I think a possibility to build Emacs as a
Cygwin application would be a terrific feature.

In case you didn't know, Emacs can be compiled with Cygwin today, but
as a MinGW application, not a Cygwin application.  See nt/INSTALL for
the gory details.

Also, from past discussions of this issue, it could be useful first to
discuss the best approach to this project.  There are trade-offs that
IMO need to be considered when you decide how much Windows-specific
code to keep in the Cygwin build, whether to use the ported Xlib or
the native Windows GUI, etc.

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
       [not found] <200202230005.g1N05kv04208@cate1-67.reshall.ou.edu>
@ 2002-02-23  8:28 ` Eli Zaretskii
  2002-02-24  9:33   ` Ehud Karni
  2002-02-27  3:48   ` Jon Cast
  0 siblings, 2 replies; 7+ messages in thread
From: Eli Zaretskii @ 2002-02-23  8:28 UTC (permalink / raw)
  Cc: emacs-devel

> From: Jon Cast <jcast@ou.edu>
> Date: Fri, 22 Feb 2002 18:05:45 -0600
> 
> What sort of ``trade-offs'' do you mean?

In addition to the ones you raised, here are some more off the top of
my head:

 * Are there good ports of X toolkits, such as Lesstiff?  Windows
   users generally expect to get file selection boxes and other
   similar dialog widgets, so if the toolkit you use does not include
   that, they will probably be unhappy.

 * Do the ported toolkits support Windows fonts and/or
   Windows-specific encodings (a.k.a. codepages)?  If not, we will
   need to think how to let users work with Windows locales.

 * The shell issue: should the Cygwin port support only Bash, or the
   stock Windows shells as well?

 * There's also this talk among users of the Cygwin port of XEmacs
   about it being very slow, especially in Dired.  I don't understand
   why would the Cygwin build be slow to the point that it annoys
   users, but perhaps we should try to do something about it.  For
   example, if the reason is that the pipe implementation is slow,
   maybe we should use the ls-lisp.el package in the Cygwin port
   instead of the external `ls' program.

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-23  8:28 ` Cygwin build (was: Using GDB in NTEMACS) Eli Zaretskii
@ 2002-02-24  9:33   ` Ehud Karni
  2002-02-24 11:07     ` Eli Zaretskii
  2002-02-27  3:48   ` Jon Cast
  1 sibling, 1 reply; 7+ messages in thread
From: Ehud Karni @ 2002-02-24  9:33 UTC (permalink / raw)
  Cc: jcast, emacs-devel

On Sat, 23 Feb 2002 10:28:51 +0200, Eli Zaretskii <eliz@is.elta.co.il> wrote:
> 
>  * There's also this talk among users of the Cygwin port of XEmacs
>    about it being very slow, especially in Dired.  I don't understand
>    why would the Cygwin build be slow to the point that it annoys
>    users, but perhaps we should try to do something about it.  For
>    example, if the reason is that the pipe implementation is slow,
>    maybe we should use the ls-lisp.el package in the Cygwin port
>    instead of the external `ls' program.

I use the Cygwin `ls' with NTEmacs. It is SLOWER because beside looking
in the directory it also READS each file to check for its magic number,
to decide if the file is executable or symbolic link.

I don't think piping is the problem. The spawning is slow (I estimate
it to be 1/3 to 1/2 a second) but it is a constant overhead. The piping
itself is fast (I use it in Cygwin's Bash scripts all the time).

Ehud.


-- 
 Ehud Karni           Tel: +972-3-7966-561  /"\
 Mivtach - Simon      Fax: +972-3-7966-667  \ /  ASCII Ribbon Campaign
 Insurance agencies   (USA) voice mail and   X   Against   HTML   Mail
 http://www.mvs.co.il  FAX:  1-815-5509341  / \
 mailto:ehud@unix.simonwiesel.co.il          Better  Safe  Than  Sorry

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-24  9:33   ` Ehud Karni
@ 2002-02-24 11:07     ` Eli Zaretskii
  2002-02-24 12:05       ` Jason Rumney
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2002-02-24 11:07 UTC (permalink / raw)
  Cc: jcast, emacs-devel


On Sun, 24 Feb 2002, Ehud Karni wrote:

> I use the Cygwin `ls' with NTEmacs. It is SLOWER because beside looking
> in the directory it also READS each file to check for its magic number,
> to decide if the file is executable or symbolic link.

The DJGPP port of GNU `ls' also reads the files, for the same reasons,
but someone (perhaps even you) told me that it is much faster.  There's 
an optimization trick in the DJGPP port that causes it to only read files 
whose extension doesn't tell unequivocally whether it is an executable 
file or not, but I'd expect the Cygwin version to do the same, since one
of the Cygwin developers, DJ Delorie, knows very well what DJGPP does.

(Actually, everything described above is inside `stat', not in `ls';
`ls' just calls `stat'.)

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-24 11:07     ` Eli Zaretskii
@ 2002-02-24 12:05       ` Jason Rumney
  0 siblings, 0 replies; 7+ messages in thread
From: Jason Rumney @ 2002-02-24 12:05 UTC (permalink / raw)
  Cc: Ehud Karni, jcast, emacs-devel

Eli Zaretskii <eliz@is.elta.co.il> writes:

> The DJGPP port of GNU `ls' also reads the files, for the same reasons,
> but someone (perhaps even you) told me that it is much faster.

In my experience, all the Cygwin tools are much slower than native
ports. They have improved since a few years ago though, when Cygwin
diff took about 2 minutes on a 250k file, while a native port took
about 10 seconds.


-- 
Jason Rumney


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-23  8:28 ` Cygwin build (was: Using GDB in NTEMACS) Eli Zaretskii
  2002-02-24  9:33   ` Ehud Karni
@ 2002-02-27  3:48   ` Jon Cast
  2002-02-27 16:02     ` Eli Zaretskii
  1 sibling, 1 reply; 7+ messages in thread
From: Jon Cast @ 2002-02-27  3:48 UTC (permalink / raw)



Eli Zaretskii <eliz@is.elta.co.il> wrote:

> In addition to the ones you raised, here are some more off the top
> of my head:

> * Are there good ports of X toolkits, such as Lesstiff?  Windows
> users generally expect to get file selection boxes and other similar
> dialog widgets, so if the toolkit you use does not include that,
> they will probably be unhappy.

LessTif is supposed to work under Cygwin-Xfree; no idea if it
qualifies as a ``good'' port---I'll look into that.

> * Do the ported toolkits support Windows fonts and/or
> Windows-specific encodings (a.k.a. codepages)?  If not, we will need
> to think how to let users work with Windows locales.

Dunno.

> * The shell issue: should the Cygwin port support only Bash, or the
> stock Windows shells as well?

What are the issues with supporting Windows shells?  PTY problems?

> * There's also this talk among users of the Cygwin port of XEmacs
> about it being very slow, especially in Dired.  I don't understand
> why would the Cygwin build be slow to the point that it annoys
> users, but perhaps we should try to do something about it.  For
> example, if the reason is that the pipe implementation is slow,
> maybe we should use the ls-lisp.el package in the Cygwin port
> instead of the external `ls' program.

<http://mail.gnu.org/pipermail/emacs-devel/2002-February/006128.html>
and
<http://mail.gnu.org/pipermail/emacs-devel/2002-February/006131.html>
seem to explain most of the speed difference.  Given these two
factors, I doubt ls-lisp.el would be much faster for a Cygwin port of
Emacs than ls would be.  The only way to be sure, though, is to do the
port and profile it, of course.  I don't think it's a concern for now,
though.

Jon Cast


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Cygwin build (was: Using GDB in NTEMACS)
  2002-02-27  3:48   ` Jon Cast
@ 2002-02-27 16:02     ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2002-02-27 16:02 UTC (permalink / raw)
  Cc: emacs-devel

> From: Jon Cast <jcast@ou.edu>
> Date: Tue, 26 Feb 2002 21:48:10 -0600
> 
> > * Do the ported toolkits support Windows fonts and/or
> > Windows-specific encodings (a.k.a. codepages)?  If not, we will need
> > to think how to let users work with Windows locales.
> 
> Dunno.

I'd suggest to find out.  Which toolkit to support is a major design
constraint, so you'll probably want to make that decision up front.
If the odds suggest to use Lesstiff, then the absence of support for
Windows character sets would be a major PITA for the users.

This is one area where XEmacs cannot help us, I think: its Windows
port is not yet m17n-capable.

> > * The shell issue: should the Cygwin port support only Bash, or the
> > stock Windows shells as well?
> 
> What are the issues with supporting Windows shells?  PTY problems?

What I had in mind was the support for running subprocesses.  Stock
Windows shells have peculiarities and misfeatures, such as different
quoting rules, the nasty habit of returning zero exit status even if
the command they ran failed, etc., and some of the shells are 16-bit
programs which cannot be safely ran as async subprocesses.  The
Windows-specific code in Emacs (the w32*.c files) deals with these
problems by redefining some library functions, and the issue I had in
mind was whether to keep all that code or toss it.  If you keep it,
there might be complications due to redefinition of library functions.

> > * There's also this talk among users of the Cygwin port of XEmacs
> > about it being very slow, especially in Dired.  I don't understand
> > why would the Cygwin build be slow to the point that it annoys
> > users, but perhaps we should try to do something about it.  For
> > example, if the reason is that the pipe implementation is slow,
> > maybe we should use the ls-lisp.el package in the Cygwin port
> > instead of the external `ls' program.
> 
> <http://mail.gnu.org/pipermail/emacs-devel/2002-February/006128.html>
> and
> <http://mail.gnu.org/pipermail/emacs-devel/2002-February/006131.html>
> seem to explain most of the speed difference.

I don't think they really explain that.  I replied to the first one
with another data point that seems to contradict the assumption that
`stat' is the explanation.  As to the second one, Jason just
reaffirmed what I heard many times elsewhere: that Cygwin applications
are slower, but didn't give any explanations.

Perhaps we should ask on the Cygwin list, where the Cygwin developers
could give us authoritative answers.

> Given these two factors, I doubt ls-lisp.el would be much faster for
> a Cygwin port of Emacs than ls would be.

If the problem is `stat', I agree.

> I don't think it's a concern for now, though.

Right; for now, it's just something to keep in mind.

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-02-27 16:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200202230005.g1N05kv04208@cate1-67.reshall.ou.edu>
2002-02-23  8:28 ` Cygwin build (was: Using GDB in NTEMACS) Eli Zaretskii
2002-02-24  9:33   ` Ehud Karni
2002-02-24 11:07     ` Eli Zaretskii
2002-02-24 12:05       ` Jason Rumney
2002-02-27  3:48   ` Jon Cast
2002-02-27 16:02     ` Eli Zaretskii
2002-02-22 19:30 Using GDB in NTEMACS Jon Cast
2002-02-22 19:55 ` Cygwin build (was: Using GDB in NTEMACS) Eli Zaretskii

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).