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, 14 Aug 2023 03:50:19 -0400 Message-ID: References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87il9owg0f.fsf@yahoo.com> <87fs4pkkqi.fsf@dataswamp.org> <87jztzkgct.fsf@dataswamp.org> <87y1if8j8t.fsf@linux-m68k.org> <87y1ifi9fv.fsf@dataswamp.org> <87zg2uqdmv.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18004"; mail-complaints-to="usenet@ciao.gmane.io" Cc: akrl@sdf.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 14 09:51:09 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 1qVSM0-0004Sf-Py for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Aug 2023 09:51:08 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVSLG-0002XR-F4; Mon, 14 Aug 2023 03:50:22 -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 1qVSLE-0002XI-Ej for emacs-devel@gnu.org; Mon, 14 Aug 2023 03:50:20 -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 1qVSLD-00087s-NW; Mon, 14 Aug 2023 03:50:19 -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=y6dMLUyG4o9JKs2CNIPo1r68Co+Z33yWaqtvObPa4vk=; b=HDbOqRj9LEz6 P2Vi85p3fdSQdMm5gYwUaISkClVv/T7tFACmfl4lHVpiY41IPRXh54q/tp39g/Y8mG5JYUdXz0ZIC yHK0HK8jwTniLvp6Lqrb0RGxj0Az2sQwHdIQimlGR19oh7SwQvNT330N/Vs5eY0sSlFFaw+I4gMm6 euUCLgQsWrpjuAbbHaGYN6VrjpR8oyH7R/EdbNJqD5TKOAZbA0o3qzznXQHoz+OL3qmTKOtiJqoan +ABxvzfBiwnZzoSJRplkFu20CzqT3KioPPupVfzEENBWBSW/7PFEyk3hkGkxpeqXL9h4CaMtdBD3d qy2e7I4Fog7/DCQZGUljgg==; Original-Received: from ams by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qVSLD-00079S-Gg; Mon, 14 Aug 2023 03:50:19 -0400 In-Reply-To: <87zg2uqdmv.fsf@localhost> (message from Ihor Radchenko on Mon, 14 Aug 2023 07:36:24 +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:308708 Archived-At: AFAIK, Elisp is full of type checks (all these BUFFERP/CHECK_STRING in C code). Also, AFAIR, native-comp is making use of some of the type checks as well, allowing some extra optimizations. SBCL does far more detailed checks than that. Which is why it makes it very unportable, since the base case is trivial, but the optimized one is not. Check for example FLOOR in sbcl/src/code/numbers.lisp , and compare it to FLOOR in Emacs Lisp. SBCL has many luxuries that Emacs does not have. So, there might be some room for improvement after all. There is always a door for that ... but someone needs to open it. Do you have some references detailing what SBCL does? http://www.sbcl.org/sbcl-internals/ and the source code.