From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Using __builtin_expect (likely/unlikely macros) Date: Sat, 20 Apr 2019 18:28:00 +0200 Message-ID: <87imv8prov.fsf@telefonica.net> References: <87a7gst973.fsf@gmail.com> <875zrgt12q.fsf@gmail.com> <6919a4c8-df76-ea1e-34db-1fa62a360e5a@cs.ucla.edu> <87h8aykdod.fsf@gmail.com> <4fa7885e-8c66-c7c4-ff71-a013505863af@cs.ucla.edu> <2dfb837d-989d-c736-b6e6-b20c0e940596@cs.ucla.edu> <87o956c4n4.fsf@gmail.com> <1fbd2fca-18f0-0a90-7a45-58419a9e11ee@cs.ucla.edu> <1555450070.23658.4@yandex.ru> <66b74701-012a-902e-4a5b-6bc30efa87c0@cs.ucla.edu> <87tveu85xt.fsf@gmail.com> <86ef5wd7az.fsf@gmail.com> <9461246c-409b-15fd-943b-3d673c679870@cs.ucla.edu> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="233870"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 20 18:38:56 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hHt0y-000ykX-7J for ged-emacs-devel@m.gmane.org; Sat, 20 Apr 2019 18:38:56 +0200 Original-Received: from localhost ([127.0.0.1]:43262 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hHt0x-0001ZO-69 for ged-emacs-devel@m.gmane.org; Sat, 20 Apr 2019 12:38:55 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:33881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hHt0E-0001WI-EE for emacs-devel@gnu.org; Sat, 20 Apr 2019 12:38:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hHsqW-0001Fo-En for emacs-devel@gnu.org; Sat, 20 Apr 2019 12:28:09 -0400 Original-Received: from [195.159.176.226] (port=39286 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hHsqW-0001CQ-8H for emacs-devel@gnu.org; Sat, 20 Apr 2019 12:28:08 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hHsqU-000lpS-Os for emacs-devel@gnu.org; Sat, 20 Apr 2019 18:28:06 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:ukLvDCnSMAhIHIczoDgexTBwqQk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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 Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235700 Archived-At: Paul Eggert writes: > I like to see significant benefits for performance-related changes > where the effects are not obvious. For improvements where the > generated code is "obviously" faster (fewer and simpler instructions, > say), I typically don't bother with measurements as my own time is > limited too. You will be surprised. Modern hardware is complex. > Agreed that 1.3% is no big deal by itself, but if one can make a > series of 1.3% performance improvements that build on each other, > their effects multiply and the overall effort has worthwhile practical > benefits. If the 1.3% improvement in performance requires non-minimal source code complexity growth, IMHO it is not worhwile, at least on Emacs' case. Another problem with this type of hacks is that they tend to dilute over time, because compilers/architectures evolve. And because people change the code without testing that those pesky declarations end in the right place; it becomes a kind of cargo-cult.