From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 14 Aug 2023 07:36:24 +0000 Message-ID: <87zg2uqdmv.fsf@localhost> 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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27226"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emanuel Berg , emacs-devel@gnu.org To: "Alfred M. Szmidt" , Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 14 09:36:32 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 1qVS7p-0006ph-GB for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Aug 2023 09:36:29 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVS7S-0008Pd-3c; Mon, 14 Aug 2023 03:36:06 -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 1qVS7P-0008JZ-Li for emacs-devel@gnu.org; Mon, 14 Aug 2023 03:36:04 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVS7N-0004t9-Jg for emacs-devel@gnu.org; Mon, 14 Aug 2023 03:36:03 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 96F8C240028 for ; Mon, 14 Aug 2023 09:35:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1691998559; bh=8lyaasxU+UDUTZi13xbEiSamvI+oLlTy8l8yHFXbK3Y=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=Hw1D3fMasrVQylCz7DEXI5iWObdetef/CHvr1IdPPziGlWTW/VZ4+N6ighHTjDub+ dkmwncijUhedIyJPCxI1GkqPqRfFGiOf88TUdW8H729pWhNG3sIfJEs3l9sdsafZBe LGD2Um4CAtGE/14sTsnzi/8YLr1LAJrm8IvF7IE9Vcg2v7md+QyZ3foBYnc6K37hzj JPL2t1IGyv/NQqU5FmbpeJTOEqRLMe5qCKb4ztwKo/TOMjqoacLFlWcirdSO1HtQhI mTdxVwQa2eh8ngGj5ctdCOSnoOfkxb4gBnNP7207esfCKneGNkZ0Lv3Tz3iwKQ9IK7 3akVHRsmyOcOQ== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RPR5p5VnWz9rxM; Mon, 14 Aug 2023 09:35:58 +0200 (CEST) In-Reply-To: Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -53 X-Spam_score: -5.4 X-Spam_bar: ----- X-Spam_report: (-5.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:308707 Archived-At: "Alfred M. Szmidt" writes: > Step one would be to identify why SBCL is so much faster. > > The short reason why SBCL is faster is that SBCL uses lots of type > checking and interference, which allows it to figure out optimizations > better. And then using assembly to implement such optimizations. CL > code compiled without DECLARE/DECLAIM is generally slow, but can be > made fast if you are very careful, and lucky that the things you need > are implemented as VOPs -- which are entierly unportable. 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. So, there might be some room for improvement after all. Do you have some references detailing what SBCL does? -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at