From xemacs-m  Sat Feb  8 17:39:27 1997
Received: from crystal.WonderWorks.COM (crystal.WonderWorks.com [192.203.206.1])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id RAA10666
	for <xemacs-beta@xemacs.org>; Sat, 8 Feb 1997 17:39:25 -0600 (CST)
Received: by crystal.WonderWorks.COM 
	id QQccbm18217; Sat, 8 Feb 1997 18:39:25 -0500 (EST)
Date: Sat, 8 Feb 1997 18:39:25 -0500 (EST)
Message-Id: <QQccbm18217.199702082339@crystal.WonderWorks.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: Kyle Jones <kyle_jones@wonderworks.com>
To: xemacs-beta@xemacs.org
Subject: Re: wot i need
In-Reply-To: <m2bu9uuda3.fsf@altair.xemacs.org>
References: <199702082135.AA176887731@martigny.ai.mit.edu>
	<m2bu9uuda3.fsf@altair.xemacs.org>

Steven L. Baur writes:
 > Bill Dubuque writes:
 > 
 > > Perhaps QUIT is slower in XEmacs vs. FSF. 
 > 
 > It has to be.
 > 
 > QUIT in Emacs 19.34 is:
 > #define QUIT \
 >   if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \
 >     { Vquit_flag = Qnil; Fsignal (Qquit, Qnil); }
 > 
 > 
 > QUIT in XEmacs 19.15 is:
 > #define QUIT do { if (INTERNAL_QUITP) signal_quit (); } while (0)
 > 
 > #define INTERNAL_QUITP                                                  \
 >   ((something_happened ? check_what_happened () : 0),                   \
 >    (!NILP (Vquit_flag) &&                                               \
 >     (NILP (Vinhibit_quit) || EQ (Vquit_flag, Qcritical))))
 > 
 > check_what_happened() is in signal.c and looks various signal-time
 > flags:

But it isn't called unless something_happened is non-zero.  Why
would something_happened be non-zero, particularly since I ran the
test in -batch mode?

 > [...]
 > I notice doing an strace, that XEmacs is dropping out of select
 > periodically and Emacs does not. :-(  Why is that?

I noticed this, too.  For me, it seems to be assocaited with
sometthing that was trying to remove a non-existent
.saves-XXXXX-crystal.WonderWorks.COM (where XXXXX is some integer).

 > > Why don't you try the same test with less trival while bodies.
 > 
 > I have.  There is a slightly larger example in bench.el:
 > (defun bench-mark-loop ()
 >   "How long does it take to run through a loop."
 >   (let ((count bench-mark-loop-count))
 >     (let ((i 0) (gcount 0))
 >       (while (< i count)
 > 	(increment)
 > 	(setq i (1+ i)))
 >       (message "gcount = %d" gcount))))
 > 
 > (defun increment ()
 >   "Increment a variable for bench-mark-loop."
 >   (setq gcount (1+ gcount)))
 > 
 > I timed XEmacs *faster* than Emacs running this code.

Not me.  41 vs. 62 seconds.

