From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Crashes in "C-h h" Date: Thu, 4 Jul 2019 16:04:39 -0700 Organization: UCLA Computer Science Department Message-ID: <5e9b9214-4ccd-68a4-2016-7ac3ea8a06d9@cs.ucla.edu> References: <83y31hes6r.fsf@gnu.org> <83r279epwe.fsf@gnu.org> <09f72051-d740-9115-c6fd-c4344c749568@cs.ucla.edu> <83muhvd9nm.fsf@gnu.org> <9b78b85d-a3c8-761f-e500-d51d4a985fa8@cs.ucla.edu> <83k1cybk8c.fsf@gnu.org> <83ef36ar0p.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="70746"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 Cc: emacs-devel@gnu.org To: Pip Cet Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 05 01:05:54 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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hjAnZ-000IGP-TG for ged-emacs-devel@m.gmane.org; Fri, 05 Jul 2019 01:05:54 +0200 Original-Received: from localhost ([::1]:49170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hjAnY-0003nU-MJ for ged-emacs-devel@m.gmane.org; Thu, 04 Jul 2019 19:05:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35115) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hjAmm-0003nK-AV for emacs-devel@gnu.org; Thu, 04 Jul 2019 19:05:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hjAmg-0005MD-2e for emacs-devel@gnu.org; Thu, 04 Jul 2019 19:05:00 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:37236) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hjAma-0005GI-2p for emacs-devel@gnu.org; Thu, 04 Jul 2019 19:04:54 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 21B4A161C36; Thu, 4 Jul 2019 16:04:41 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id EA6Aa9ixoBV3; Thu, 4 Jul 2019 16:04:39 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id AF3C1161DBF; Thu, 4 Jul 2019 16:04:39 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ZumQhAuR0wVx; Thu, 4 Jul 2019 16:04:39 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 88D3F161C36; Thu, 4 Jul 2019 16:04:39 -0700 (PDT) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:238366 Archived-At: Pip Cet wrote: > I'm seeing a much smaller slowdown with "perf stat": 12.3 cycles/loop > rather than 11.7. It very much depends on the CPU. I got results all over the map when I used different CPUs. Sometimes there wasn't that much difference, sometimes more than what I mentioned. FIXNUMP+XFIXNUM was always slower than EQ+make_fixnum, though. >> You mean twice faster (~2m vs ~1m), right? > > "g" is 8 seconds slower than "noop", but "f" is 76 seconds slower. My calculations have "f" 85 not 76 seconds slower, which means FIXNUMP+XFIXNUM was about 11x slower (10.972x times slower, to be absurdly precise). > I'm seeing a single branch in "f", which is well-predicted as it > alternates between being taken and not being taken. Maybe my CPU isn't using 2-bit branch prediction for this case, whereas yours is. > gcc needs to recognize (x-c) & mask == 0 as equivalent to > (x & mask) == c (in the right conditions) and emit whichever variant > is faster.) Yes, this is the GCC performance bug I reported about a year ago . You came up with a GCC patch which you labeled "WIP". Maybe it's time to get that patch out the door? > I think it would make most sense to introduce a macro for comparing a > Lisp object to a C integer, which does the right thing even outside > the fixnum range. Slower, ... All this talk about optimization, and now you want things to be *slower*? :-)