From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Ben Wing" Newsgroups: gmane.emacs.devel,gmane.emacs.xemacs.design Subject: Re: Gnu Emacs way slower than XEmacs Date: Fri, 25 Apr 2003 19:41:58 -0700 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <080c01c30b9d$68e73620$0201a8c0@neeeeeee> References: <84r87ulpts.fsf@boost-consulting.com><87u1cqy8jc.fsf@tleepslib.sk.tsukuba.ac.jp><84d6jetmfg.fsf@lucy.is.informatik.uni-duisburg.de><87r87up9qi.fsf@nyaumo.jasonrumney.net><873ck9x6qi.fsf@tleepslib.sk.tsukuba.ac.jp> <87k7dlogsp.fsf@nyaumo.jasonrumney.net> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1051324713 24060 80.91.224.249 (26 Apr 2003 02:38:33 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 26 Apr 2003 02:38:33 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sat Apr 26 04:38:30 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 199FaA-0006Fu-00 for ; Sat, 26 Apr 2003 04:38:30 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 199FhA-0000nv-00 for ; Sat, 26 Apr 2003 04:45:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 199FaT-00055J-01 for emacs-devel@quimby.gnus.org; Fri, 25 Apr 2003 22:38:49 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 199Fa6-0004ZT-00 for emacs-devel@gnu.org; Fri, 25 Apr 2003 22:38:26 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 199FZr-0003co-00 for emacs-devel@gnu.org; Fri, 25 Apr 2003 22:38:20 -0400 Original-Received: from mpls-qmqp-04.inet.qwest.net ([63.231.195.115]) by monty-python.gnu.org with smtp (Exim 4.10.13) id 199FZi-0003AH-00 for emacs-devel@gnu.org; Fri, 25 Apr 2003 22:38:02 -0400 Original-Received: (qmail 28694 invoked by uid 0); 26 Apr 2003 02:37:59 -0000 Original-Received: from mpls-pop-08.inet.qwest.net (63.231.195.8) by mpls-qmqp-04.inet.qwest.net with QMQP; 26 Apr 2003 02:37:59 -0000 Original-Received: from unknown (HELO neeeeeee) (67.41.27.227) by mpls-pop-08.inet.qwest.net with SMTP; 26 Apr 2003 02:37:59 -0000 Original-To: "Jason Rumney" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Original-cc: XEmacs Design Original-cc: "Kirill M. Katsnelson" X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:13462 gmane.emacs.xemacs.design:2121 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:13462 actually it was kirill katsnelson who did most of the work on processes and networks, although i [a] scrapped the synchronous process stuff and rewrote it using async, [b] added the abstracted stream interface. but basically, the old gnu emacs way involved trying to simulate select[] and other unix operations using windows, ala cygwin. kirill scrapped all of the process and network code for both windows and unix and rewrote it using an abstraction layer that obviated the need to play games. it doesn't look like this has changed significantly in recent gnu emacsen. there is no obvious reason why emulation *has* to be slower, but in practice it often gets that way because [a] the low-level code sometimes does unnecessary things to make the emulation work., [b] it is hard to sort out what's really going on, and hence [c] people are reluctant to make real changes. as it is, i have seen a few patches come into xemacs over the years from random contributors to speed up the process/network code by putting a sleep or yield or buffering change or whatever in certain critical places, and it seems less likely these would have appeared without the clean abstracted design. we do use async i/o with winsock. ben ----- Original Message ----- From: "Jason Rumney" To: Cc: Sent: Tuesday, April 22, 2003 11:43 PM Subject: Re: Gnu Emacs way slower than XEmacs > > Hi Ben, can you answer the following question for me? > A simple yes or no is sufficient, we are trying to determine whether > there is a simple explanation for XEmacs being noticeably faster than > GNU Emacs for network operations on Windows, or if it is due to a bug > in GNU Emacs. > > > "Stephen J. Turnbull" writes: > > > >>>>> "Jason" == Jason Rumney writes: > > > > Jason> Does XEmacs implement non-blocking sockets on Windows? > > > > I don't know. Ask Ben Wing . I know he's done a lot > > of work on processes, much of it intended to make processes work > > efficiently on Windows within the Unix-centric context of the rest of > > XEmacs. He may have done so; I'm sure it would be high on his > > priority list. > >