From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Making 'eq' == 'eql' in bignum branch Date: Fri, 10 Aug 2018 11:55:51 -0400 Message-ID: References: <29f933ac-a6bf-8742-66a7-0a9d6d3e5a88@disroot.org> <765767b2-d2e5-a9a6-f724-d58ecf4847bb@cs.ucla.edu> <76081b5d-8c10-0a37-2c97-d4864c0faa80@cs.ucla.edu> <09153aed-361d-4f82-d9ac-b502314769ae@cs.ucla.edu> <83600yt8ih.fsf@gnu.org> <83h8kgpnir.fsf@gnu.org> <7dd71d44-69bc-3adf-576b-8b9e31184a24@cs.ucla.edu> <83d0v4p1si.fsf@gnu.org> <827beb76-3adf-f2f9-33b1-1baee55680cd@cs.ucla.edu> <83wotbo04h.fsf@gnu.org> <77d5f8b0-2277-b28e-8565-d3e00c411795@cs.ucla.edu> <83ftzyocry.fsf@gnu.org> <837elao4bo.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1533916450 25817 195.159.176.226 (10 Aug 2018 15:54:10 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 10 Aug 2018 15:54:10 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: eliz@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Pip Cet Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 10 17:54:06 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fo9jn-0006Yn-2U for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2018 17:54:03 +0200 Original-Received: from localhost ([::1]:56860 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fo9lt-0005yg-Mc for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2018 11:56:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37293) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fo9ln-0005yX-Jq for emacs-devel@gnu.org; Fri, 10 Aug 2018 11:56:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fo9lj-0002gH-NH for emacs-devel@gnu.org; Fri, 10 Aug 2018 11:56:07 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:42542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fo9lj-0002f3-HW; Fri, 10 Aug 2018 11:56:03 -0400 Original-Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w7AFtpUL030026; Fri, 10 Aug 2018 11:55:52 -0400 Original-Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 446ABAE1F5; Fri, 10 Aug 2018 11:55:51 -0400 (EDT) In-Reply-To: (Pip Cet's message of "Fri, 10 Aug 2018 15:43:00 +0000") X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6349=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6349> : inlines <6808> : streams <1795107> : uri <2686973> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.20 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:228387 Archived-At: >> NaN boxing implies 64bit boxes, which on 32bit platforms imposes >> a non-negligible overhead. > Sorry, I don't understand. I don't see how any of this applies to > 32-bit platforms with 32-bit EMACS_INTs. On those, we cannot have > float immediates or NaN boxing. Indeed. But we want eq == eql on all platforms, including 32bit ones. >> So, I think it'd end up costing >> significantly more than the tentative patch with which Paul and I have >> been playing. > I think we only have a benchmark for 61-bit floats, which would mean His idea was to use "immediate floats" when possible (e.g. with 4 zero bits) and use hash-consed boxed floats for the rest, hence preserving full 64bit float precision. IOW the point was to reduce the proportion of floats we need to hash-cons. Stefan