From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Native compilation of Keyboard Macros Date: Sat, 17 Sep 2022 23:12:51 -0400 Message-ID: References: <878rmj408c.fsf@posteo.net> <86wna1c2hl.fsf@mail.linkov.net> <87k061g8m2.fsf@posteo.net> <865yhlc093.fsf@mail.linkov.net> <87fsgpg49a.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23261"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Juri Linkov , emacs-devel@gnu.org, Andrea Corallo To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Sep 18 05:14:20 2022 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 1oZklA-0005rL-4m for ged-emacs-devel@m.gmane-mx.org; Sun, 18 Sep 2022 05:14:20 +0200 Original-Received: from localhost ([::1]:41180 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oZkl8-0003lj-Mv for ged-emacs-devel@m.gmane-mx.org; Sat, 17 Sep 2022 23:14:18 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43782) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZkjr-0002gZ-Al for emacs-devel@gnu.org; Sat, 17 Sep 2022 23:12:59 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59608) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZkjo-0002Ct-Pm for emacs-devel@gnu.org; Sat, 17 Sep 2022 23:12:58 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6B6E544144D; Sat, 17 Sep 2022 23:12:54 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 510BB44134A; Sat, 17 Sep 2022 23:12:53 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1663470773; bh=fB2lzHc2CL9F0nQfv5qiSKLQDFd4mQiGntQGk84dJJY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=BM5GIziDJQHxBv+wgXCYnNtgaEiNmVaptOhKV/C23ysL9UwrfJL07oq+PYPEjTkRI 99Ki5ayPzTn86rLsgygx5ngPjVfD2mURQuUzE10HF9rVpf8zT0esBI9tKLbiH4cPdv CJlalJJA2vXiapLfRn2uoL20Jjx1E+fv3MHo9XlGj8Irdfru1DJ1j/rPnBxDh3ckA9 PoTgYyZ2b6T2eiM9vQquKId8jHjC0GjYwqiVV5SB6/Y1He/g4m5fC0jMQ2AgPG7AAx qWtQXwpIbc83gHz5n8FhGGm+VatBZ5gVGmrIVoCdoVjsTKqFHOFaG0ZEaUjFwRQY+9 EXYEdJXRKDGyA== Original-Received: from pastel (unknown [157.52.9.190]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D4AB3120623; Sat, 17 Sep 2022 23:12:52 -0400 (EDT) In-Reply-To: <87fsgpg49a.fsf@posteo.net> (Philip Kaludercic's message of "Sat, 17 Sep 2022 20:00:49 +0000") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:295553 Archived-At: > OK, but wouldn't that exclude the possibility of it being compiled, > *unless* there were some way to translate the rest of the input into > something else. You can't "transparently" compile them, no. But the user can ask explicitly for a kind of "snapshot": compile them to the code executed for a particular run of that keyboard macro. In any case, as for all optimization problems, I'd start by investigating your very concrete example to try and figure exactly where the time is spent. Else, you may end up missing the important spot. Stefan