From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Compilation to native Date: 31 Mar 2004 00:30:48 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <87eks0654s.fsf@sno.mundell.ukfsn.org> <87n06bp4ng.fsf@sno.mundell.ukfsn.org> <877jxccutf.fsf@sno.mundell.ukfsn.org> <87k712gesk.fsf@sno.mundell.ukfsn.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1080686035 17667 80.91.224.253 (30 Mar 2004 22:33:55 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 30 Mar 2004 22:33:55 +0000 (UTC) Cc: rms@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Mar 31 00:33:47 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1B8Rnn-0008Dg-00 for ; Wed, 31 Mar 2004 00:33:47 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1B8Rnm-0000yF-00 for ; Wed, 31 Mar 2004 00:33:47 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B8Rme-0001dV-CM for emacs-devel@quimby.gnus.org; Tue, 30 Mar 2004 17:32:36 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B8Rlu-0001Dq-OL for emacs-devel@gnu.org; Tue, 30 Mar 2004 17:31:50 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B8Rl3-00089t-Km for emacs-devel@gnu.org; Tue, 30 Mar 2004 17:31:30 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B8Rl2-00088Y-T2 for emacs-devel@gnu.org; Tue, 30 Mar 2004 17:30:56 -0500 Original-Received: from fencepost.gnu.org ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.24) id 1B8Rka-0004In-Cb; Tue, 30 Mar 2004 17:30:28 -0500 Original-To: Matthew Mundell In-Reply-To: <87k712gesk.fsf@sno.mundell.ukfsn.org> Original-Lines: 36 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:21106 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:21106 Matthew Mundell writes: > Richard Stallman writes: > > > Anyway, such a small speedup is not worth the trouble. > > Compilation of CCL may be worth while. Or optimization of the CCL > > interpreter may be possible. > > This is for the record, at least. The speedup is a little better > with Fgtr inlined into the native, a few excess memory instructions > saved, and, where possible, objects passed between byte operations > using registers instead of the stack. > > Byte compiled: > ("Tue Mar 30 21:54:05 2004" "Tue Mar 30 21:54:21 2004") 16 s > ("Tue Mar 30 21:54:26 2004" "Tue Mar 30 21:54:42 2004") 16 s > ("Tue Mar 30 21:54:45 2004" "Tue Mar 30 21:55:01 2004") 16 s > > Compiled from byte code to native: > ("Tue Mar 30 21:55:43 2004" "Tue Mar 30 21:55:49 2004") 6 s > ("Tue Mar 30 21:55:51 2004" "Tue Mar 30 21:55:58 2004") 7 s > ("Tue Mar 30 21:56:01 2004" "Tue Mar 30 21:56:07 2004") 6 s This sounds impressive, but of course in real-life tasks the amount of work done by the Lisp interpreter as opposed to C primitives should be less. One would have to see the memory impact as well to find out whether the overall gains in processing speed would remain as impressive. One thing that is nice about the byte code is that it is pretty hard to terminally crash the machine just with Lisp (yes, I am aware that there are byte code sequences that can cause segfaults). Perhaps a CVS branch for playing around with the concept some more would be worthwhile? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum