From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: byte-code optimizations Date: Sat, 18 Sep 2004 18:55:41 -0400 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: References: <200409181152.15364.pogonyshev@gmx.net> Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1095548214 7100 80.91.229.6 (18 Sep 2004 22:56:54 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 18 Sep 2004 22:56:54 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 19 00:56:47 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1C8o8N-0004kp-00 for ; Sun, 19 Sep 2004 00:56:47 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8oE9-0005Ku-6t for ged-emacs-devel@m.gmane.org; Sat, 18 Sep 2004 19:02:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C8oDT-0005F3-AO for emacs-devel@gnu.org; Sat, 18 Sep 2004 19:02:03 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C8oDR-0005DY-Gf for emacs-devel@gnu.org; Sat, 18 Sep 2004 19:02:01 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8oDR-0005D6-5G for emacs-devel@gnu.org; Sat, 18 Sep 2004 19:02:01 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C8o7J-0000tA-UK for emacs-devel@gnu.org; Sat, 18 Sep 2004 18:55:41 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1C8o7J-0000qG-HC; Sat, 18 Sep 2004 18:55:41 -0400 Original-To: Paul Pogonyshev In-reply-to: <200409181152.15364.pogonyshev@gmx.net> (message from Paul Pogonyshev on Sat, 18 Sep 2004 11:52:15 -0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 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.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:27259 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27259 In other words, it squeezes the unnecessary binding out of each `c[ad][ad]r'. Three commands per each substitution. I see, those wasteful operations come from defsubst expansion. Can you generalize your optimization so it is not limited to car and cdr operations in the middle? It ought to be simple to handle many other cases, as long as there are no jumps inside.