From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Alfred M. Szmidt" Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 21 Aug 2023 01:59:42 -0400 Message-ID: References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87edk3gbh3.fsf@dataswamp.org> <87jztvnuyb.fsf@localhost> <875y5bdutt.fsf@dataswamp.org> <87y1i6e1uh.fsf@localhost> <874jkub40o.fsf@dataswamp.org> <87jztqdw2l.fsf@localhost> <87msym9i4r.fsf@dataswamp.org> <877cpp914t.fsf@localhost> <83fs4dwwdo.fsf@gnu.org> <874jkt90a5.fsf@localhost> <87y1i57jqi.fsf@localhost> <87pm3h7h8k.fsf@localhost> <87h6ot7cf3.fsf@localhost> <87350d78j1.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26318"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, incal@dataswamp.org, emacs-devel@gnu.org To: Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 21 08:00:52 2023 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 1qXxy8-0006gz-Ka for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Aug 2023 08:00:52 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qXxx7-0003Fv-JZ; Mon, 21 Aug 2023 01:59:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qXxx5-0003Fm-Gz for emacs-devel@gnu.org; Mon, 21 Aug 2023 01:59:48 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qXxx2-0002CZ-VU; Mon, 21 Aug 2023 01:59:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=pmg2xAzZqjZ4PuFt2a5UEsyOSUgZ9HwgrM7nZfh9UHo=; b=rA1llKMUUc4G rdg/jeNBgLdr9LD2BvlgW4b5HR0pvO2zU4j0dUZ1TAnuDpP8pgpIlFky/5RO86fxsGkftO74b1jA4 6ubY4LdvIBbF/j+sKSjaXW+757SiOzR1mxTbtQcOEzaM/EWj0+UiGOfBQ5j45iPBEdtHu61PcCgnN 9HrLnDnZcCWw5fM81Q3kRJjAYv+dTwh7idxpnslcapr5+opaAULQabF4O7SyPL90Mv3fqT576z84E 7VCfK4VxaMmYgMPA/wjsLMNFKawSgR715PeAje/Qzr0MpdX4oXd3Y6Ear8nzVuVcf42i6wHl/jkuw o+TphzukqGRxr+lFRfFpOA==; Original-Received: from ams by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qXxx0-000782-0T; Mon, 21 Aug 2023 01:59:43 -0400 In-Reply-To: <87350d78j1.fsf@localhost> (message from Ihor Radchenko on Sun, 20 Aug 2023 20:39:46 +0000) 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:309024 Archived-At: > SBCL does transformation of Lisp code, there is a huge difference > there that clearly is being ignored here. May you elaborate what you mean by transformation? Dead code eliminiation for example, the Emacs Lisp commpiler doesn't do anything with dead code. > AFAIK, users cannot specify type info manually, but types are tracked > when transforming Elisp byte code into LIMP representation. > > You cannot track type information in a dynamically typed language > without providing hints, something Emacs lisp does not do. https://zenodo.org/record/3736363, Section 3.4 forward data-flow analysis. Which has nothing to do with Emacs Lisp. Emacs Lisp lacks basic means of instructing the compiler, for example ... stating what the function return type is. JIT is primarily about execution speed, not about optimizing already existing slow code which Emacs has lots of. For that you need a better compiler, and people optimizing the code accordingly. That is why SBCL is faster, since that is the only thing they do with SBCL.