From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Compilation to native Date: Tue, 23 Mar 2004 15:56:06 +0200 Organization: JURTA Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <87ekrjr7k9.fsf@mail.jurta.org> References: <87eks0654s.fsf@sno.mundell.ukfsn.org> <87n06bp4ng.fsf@sno.mundell.ukfsn.org> <8765cwkejr.fsf@mail.jurta.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1080051051 7923 80.91.224.253 (23 Mar 2004 14:10:51 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 23 Mar 2004 14:10:51 +0000 (UTC) Cc: Matthew Mundell , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue Mar 23 15:10:40 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 1B5mc3-00058W-00 for ; Tue, 23 Mar 2004 15:10:39 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1B5mc3-0000Jq-00 for ; Tue, 23 Mar 2004 15:10:39 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5mac-0007qC-Uv for emacs-devel@quimby.gnus.org; Tue, 23 Mar 2004 09:09:10 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B5mYW-00070Q-BI for emacs-devel@gnu.org; Tue, 23 Mar 2004 09:07:00 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B5mUC-0005zg-1u for emacs-devel@gnu.org; Tue, 23 Mar 2004 09:03:03 -0500 Original-Received: from [66.33.219.6] (helo=knife.dreamhost.com) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5mSv-0005nT-1K for emacs-devel@gnu.org; Tue, 23 Mar 2004 09:01:13 -0500 Original-Received: from mail.jurta.org (80-235-40-249-dsl.mus.estpak.ee [80.235.40.249]) by knife.dreamhost.com (Postfix) with ESMTP id 5CC93E4027; Tue, 23 Mar 2004 06:01:05 -0800 (PST) Original-To: Stefan Monnier In-Reply-To: (Stefan Monnier's message of "22 Mar 2004 16:37:04 -0500") User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux) 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:20784 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:20784 > Maybe Richard is right, but I wouldn't be surprised if we can't go much > faster than that. A lot of time is spent in C primitives including > binding variables and looking them up. Also a lot of the time spent in > function call is cleverly spread and duplicated between the caller and the > callee which are at two different places, so there's a lot of opportunities > for optimization but it's very difficult to do it at all, let > alone do it automatically. Yes, this would require implementing an optimizing Lisp compiler which is a tremendous task. > And compiling CCL to native code is likely to bring much more impressive > speed ups because less time is spent in C primitives. Since CCL is a much simpler and quite independent language implementing its compilation is more manageable task and it should considerably improve the performance of code conversion which currently is very poor. One of the main questions that should be decided now is how to implement CCL compilation: dynamically with the help of GNU Lightning, or statically by generating C code which will be compiled by a C compiler into the Emacs executable. -- Juri Linkov http://www.jurta.org/emacs/