From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: On elisp running native Date: Mon, 09 Mar 2020 19:41:48 +0000 Message-ID: References: <87eeu5txxw.wl-all_but_last@163.com> <8736ah4dlm.wl-all_but_last@163.com> <87zhcp2ve4.wl-all_but_last@163.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="65612"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cc: Stefan Monnier , emacs-devel@gnu.org To: Zhu Zihao Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Mar 09 20:42:25 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jBOID-000GxP-Fg for ged-emacs-devel@m.gmane-mx.org; Mon, 09 Mar 2020 20:42:25 +0100 Original-Received: from localhost ([::1]:48736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBOIC-0003S7-Gs for ged-emacs-devel@m.gmane-mx.org; Mon, 09 Mar 2020 15:42:24 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53449) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBOHk-00031L-Iy for emacs-devel@gnu.org; Mon, 09 Mar 2020 15:41:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jBOHj-0004QM-IL for emacs-devel@gnu.org; Mon, 09 Mar 2020 15:41:56 -0400 Original-Received: from mx.sdf.org ([205.166.94.20]:50553) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jBOHj-0004Pj-9v for emacs-devel@gnu.org; Mon, 09 Mar 2020 15:41:55 -0400 Original-Received: from sdf.org (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 029JfmF6022039 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Mon, 9 Mar 2020 19:41:48 GMT Original-Received: (from akrl@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 029Jfmdp031388; Mon, 9 Mar 2020 19:41:48 GMT In-Reply-To: <87zhcp2ve4.wl-all_but_last@163.com> (Zhu Zihao's message of "Tue, 10 Mar 2020 03:14:27 +0800") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 205.166.94.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245407 Archived-At: Zhu Zihao writes: > Thanks for your quick reply, Andrea! I temporarily turn the comp-speed to 0 and > less memories was required during the compilation. And the eln files are still > faster than elc files. Amazing works! > > IMO, leim files may not need to be native-compiled. If you check those files, > you will found that they just some macros and tons of alists that map input codes > to characters. So they just need to be byte-compiled(to do the macro-expansion). Yes I've seen it but the next question would be how to define such list of "not to be compiled" files? I though was cleaner to implement deferred compilation because this is more generic, but maybe a not-compile list is also a good suggestion that is very easy to implement in addition. Thoughts? > Another question is, polymorphic functions defined by `cl-defmethod` can't be > native compiled. `cl-defmethod` generates and byte-compile dynamic lambda to > support runtime multi-dispatch. I' m wondering is that any way to make > `cl-defmethod` compatible with native-comp, maybe Stefan Monnier have more ideas > on this. I've never disassembled a cl method but generally speaking for now we just do not native compile all lambdas :) We are really in bring-up phase to be clear. -- akrl@sdf.org