From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#8794: (b) make the 64bit-on-32bit the default (if supported) Date: Mon, 06 Jun 2011 10:54:24 -0700 Organization: UCLA Computer Science Department Message-ID: <4DED1450.9090605__7519.690731033$1307395075$gmane$org@cs.ucla.edu> References: <4DE89EB8.9020202@cs.ucla.edu> <4DE93610.4040209@cs.ucla.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1307395075 28805 80.91.229.12 (6 Jun 2011 21:17:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 6 Jun 2011 21:17:55 +0000 (UTC) Cc: 8794@debbugs.gnu.org, Emacs Development To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 06 23:17:50 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QThBD-00061e-77 for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Jun 2011 23:17:47 +0200 Original-Received: from localhost ([::1]:34621 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QThBB-0004Hw-GM for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Jun 2011 17:17:45 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:38100) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTe12-0001sO-Ro for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 13:55:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTe11-0004jG-5d for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 13:55:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56790) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTe11-0004jB-0a for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 13:55:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QTe0z-00053R-TF; Mon, 06 Jun 2011 13:55:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 06 Jun 2011 17:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8794 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8794-submit@debbugs.gnu.org id=B8794.130738287519391 (code B ref 8794); Mon, 06 Jun 2011 17:55:01 +0000 Original-Received: (at 8794) by debbugs.gnu.org; 6 Jun 2011 17:54:35 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QTe0Y-00052h-0r for submit@debbugs.gnu.org; Mon, 06 Jun 2011 13:54:34 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QTe0W-00052V-1Y for 8794@debbugs.gnu.org; Mon, 06 Jun 2011 13:54:33 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9476739E8121; Mon, 6 Jun 2011 10:54:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HtNnrTH6uBmf; Mon, 6 Jun 2011 10:54:24 -0700 (PDT) Original-Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D9B6439E80F0; Mon, 6 Jun 2011 10:54:24 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Thunderbird/3.1.10 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 06 Jun 2011 13:55:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:47017 Archived-At: [CC'ing to emacs-devel as this may be of more-general interest. This is about a plan to widen Emacs integers to 64 bits (62 bits after tagging) on typical 32-bit hosts. The original thread is in .] On 06/06/11 07:52, Stefan Monnier wrote: > let's keep it as an option for now and reconsider this choice for > Emacs-24.2. We should make a --with-wide-int option for ./configure, tho. OK, thanks, I'll add that option. > I want to make sure the drawbacks > are negligible. How is the memory use impacted by your change in > "typical" sessions? How is the CPU use impacted in typical sessions? > Benchmarks running the byte-compiler, Gnus, and any other intensive > Elisp code would be welcome. Benchmarks testing the impact on > redisplay performance wold also be welcome. > I'd hope most of those benchmarks to show very little difference, but so > far I haven't seen any reports to make confident that this is the case. This all sounds reasonable. I haven't noticed much difference in ordinary interactive use, but I haven't done quantitative benchmarks. Thanks for reviewing it and for taking the time to make these suggestions. One thing I plan to do while benchmarking is to replace EMACS_INT with ptrdiff_t whenever the value is known to fit in a 32-bit quantity on a 32-bit host. This won't make any difference unless --with-wide-int is used, since EMACS_INT and ptrdiff_t are normally the same (on both 32-bit and 64-bit hosts). But in the --with-wide-int case it should decrease both memory footprint and register pressure and should be a measurable win. I've started an effort to do that, and (as usual) I'm finding more int-overflow bugs as a side effect. For example, on a 64-bit host, (copy-sequence (make-bool-vector 17179869184 nil)) crashes Emacs, due to integer overflow. I plan to fix those bugs independently of the EMACS_INT->ptrdiff_t change.