From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Should native compilation be enabled by default? Date: Fri, 08 Mar 2024 10:28:08 +0200 Message-ID: <868r2t161z.fsf@gnu.org> References: <86sf19p0hw.fsf@gnu.org> <86zfvclvdl.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16628"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: rms@gnu.org, Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Mar 08 09:29:18 2024 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 1riVbQ-00042V-Vo for ged-emacs-devel@m.gmane-mx.org; Fri, 08 Mar 2024 09:29:17 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1riVaU-0005h4-UP; Fri, 08 Mar 2024 03:28:18 -0500 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 1riVaT-0005gw-Ql for emacs-devel@gnu.org; Fri, 08 Mar 2024 03:28:17 -0500 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 1riVaT-0001uo-Iz for emacs-devel@gnu.org; Fri, 08 Mar 2024 03:28:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=SOgl40/9IaOfllinDMGuaerDrcn1HscEVTWgm3k4nfQ=; b=hibg9q5uOpCH 2AN8ZY8AcPoBMriGJ0RImc4N1owKsGnBZxvVtPzitdkV64pcRjqwskGKUn3MbzH8+A40fnFhD0pe1 kumsnOfaGwGEqA/AybtUaE74e4i4CIp/LddoVEiMPpf3Cs+GeO2OBvPyC8LSHZwdI4RvocQRk+uFH 27d3biEr1/OazZTbDO9AIhk0tcm104RTXO0Rm6yw9mUkDDtHg7ytCrrogxDRgDI9falzcwQDz56/r VwOtl1/Q8FNSzoaHxmBbXPKWZstlHNXTobnToKI7mM0gJV/xYc31CyLpRFlYmo2/Tg8hCN0J0X7R0 oAnpr9GXzYhBk6BfeRDanQ==; In-Reply-To: (message from Richard Stallman on Thu, 07 Mar 2024 21:29:54 -0500) 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:316891 Archived-At: > From: Richard Stallman > Cc: emacs-devel@gnu.org > Date: Thu, 07 Mar 2024 21:29:54 -0500 > > > This is true, but the slowdown is IME insignificant on a reasonably > > modern system. > > Could you explain what "reasonably modern" refer to OS releases, to CPUs, or what? CPU and memory. > The only CPUs we can morally recommend to people are the ones before > the hardware backdoors became impossible to disable completely. This is not about recommending CPU to people, this is about the level of CPU power and memory size that most Emacs users have nowadays. Given the popularity of native compilation, I conclude that very few of them stick to old CPUs and small memory sizes. > They are around 15 years old. Does installing a current GNU/Linux distro > release on one of those computers add up to a "reasonably modern system"? I don't know enough about those systems to answer that question. If it turns out that those systems are too slow for building Emacs with native compilation, there's the --without-native-compilation configure-time switch, which is very easy to use, and needs only to be specified once for every source tree. IOW, the default configuration of the Emacs build is supposed to cater to the average system which Emacs users have, not to the lowest possible ones. For example, we build by default with image libraries if those are installed, even if the user always invokes "emacs -nw" because the system cannot endure running an X server. For systems that are far from the average, we offer configure-time options to disable features that get in the way for some reason. > > I disagree, based on my experience. I see a significant speedup when > > using Rmail for just reading email, something that I cannot > > characterize as "power use" of Emacs. > > Could you tell me more about this experience? Which operations become > faster? Reading new messages and displaying messages, especially if the message is in HTML (as opposed to plain text). > How big is your Rmail file? How many messages are in it? Currently about 75 MB and more than 2K messages. I purge it weekly, and after a purge it becomes about 1/3rd that size. > > And there are other significant speed advantages. > > Would you please tell me more? This was all discussed during development of Emacs 28, two years ago. I don't remember all the details, and cannot afford looking through the archives to find the discussions with benchmarks. Maybe someone else (Andrea?) could look them up. I do remember the conclusion: natively-compiled code was on average faster by a factor of 1.5 to 2. And that is good enough for me, and I think should be enough for anyone, to support the decision of making this the default, as soon as the initial issues with it (and there were issues, believe me) are resolved.