From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Lisp_Marker size on 32bit systems Date: Fri, 7 Sep 2018 14:03:44 -0700 Organization: UCLA Computer Science Department Message-ID: References: <5a2c709e-aa49-b5b6-3fbe-fb8bd33acb23@cs.ucla.edu> <06d01a4b-9d98-df5b-be8a-aeda449acad7@cs.ucla.edu> <0e358c21-1e67-32f9-d24b-fa039753a2de@cs.ucla.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------CF6B9F5C9F5DEFD3C2969C8B" X-Trace: blaine.gmane.org 1536354159 2796 195.159.176.226 (7 Sep 2018 21:02:39 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 7 Sep 2018 21:02:39 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 07 23:02:35 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 1fyNth-0000ag-Rk for ged-emacs-devel@m.gmane.org; Fri, 07 Sep 2018 23:02:34 +0200 Original-Received: from localhost ([::1]:40250 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyNvo-0000su-Du for ged-emacs-devel@m.gmane.org; Fri, 07 Sep 2018 17:04:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49003) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyNux-0000oM-Sf for emacs-devel@gnu.org; Fri, 07 Sep 2018 17:03:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyNuu-0003bT-BB for emacs-devel@gnu.org; Fri, 07 Sep 2018 17:03:51 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:34150) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fyNut-0003XV-V7 for emacs-devel@gnu.org; Fri, 07 Sep 2018 17:03:48 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 53572160F92; Fri, 7 Sep 2018 14:03:46 -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 kYfyeY3GOPQ2; Fri, 7 Sep 2018 14:03:45 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 61339160FA8; Fri, 7 Sep 2018 14:03:45 -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 MqP0fnqh1B9a; Fri, 7 Sep 2018 14:03:45 -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 360BD160F92; Fri, 7 Sep 2018 14:03:45 -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.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:229454 Archived-At: This is a multi-part message in MIME format. --------------CF6B9F5C9F5DEFD3C2969C8B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Stefan Monnier wrote: > I still wonder why it would be slower at all. My guess is cache effects. My processor has a cache line size of 64 bytes, so if objects are allocated in 32-byte chunks they won't straddle cache boundaries and code will be less likely to thrash the cache. I ran this benchmark in the 'lisp' subdirectory: EMACSLOADPATH= perf stat -dd '../src/emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile org/org.el and am attaching the results for the 24-bit allocation (a bit slower) and the 32-bit allocation (a bit faster), and they are in line with this guess. >> Maybe we should be using 4 mark bits instead of 3? > On 32bit systems, both cons cells and float cells use 8 bytes each, so > aligning on multiples of 16 would double their memory use. We'd use two tags for both conses and float cells, so that shouldn't be a problem. > it's not clear > what the extra tags would be useful for. Presumably to help performance elsewhere. Admittedly I'm blue-skying a bit here. --------------CF6B9F5C9F5DEFD3C2969C8B Content-Type: text/plain; charset=UTF-8; name="perf-stat-emacs-24.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf-stat-emacs-24.txt" CiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZvciAnLi4vc3JjL2VtYWNzIC1iYXRjaCAt LW5vLXNpdGUtZmlsZSAtLW5vLXNpdGUtbGlzcCAtLWV2YWwgKHNldHEgbG9hZC1wcmVmZXIt bmV3ZXIgdCkgLWYgYmF0Y2gtYnl0ZS1jb21waWxlIG9yZy9vcmcuZWwnOgoKICAgICAgIDM3 MTAuODA5ODI0ICAgICAgdGFzay1jbG9jazp1IChtc2VjKSAgICAgICAjICAgIDAuOTk4IENQ VXMgdXRpbGl6ZWQgICAgICAgICAgCiAgICAgICAgICAgICAgICAgMCAgICAgIGNvbnRleHQt c3dpdGNoZXM6dSAgICAgICAgIyAgICAwLjAwMCBLL3NlYyAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgIDAgICAgICBjcHUtbWlncmF0aW9uczp1ICAgICAgICAgICMgICAg MC4wMDAgSy9zZWMgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIDQsMjk4ICAgICAg cGFnZS1mYXVsdHM6dSAgICAgICAgICAgICAjICAgIDAuMDAxIE0vc2VjICAgICAgICAgICAg ICAgICAgCiAgICAgOSw0MTQsNDExLDQ4NyAgICAgIGN5Y2xlczp1ICAgICAgICAgICAgICAg ICAgIyAgICAyLjUzNyBHSHogICAgICAgICAgICAgICAgICAgICAgKDE4Ljc5JSkKICAgICAg IDc1NywyNzMsOTY4ICAgICAgc3RhbGxlZC1jeWNsZXMtZnJvbnRlbmQ6dSAjICAgIDguMDQl IGZyb250ZW5kIGN5Y2xlcyBpZGxlICAgICAoMTguODAlKQogICAgIDQsMzk1LDcyMiw1Njgg ICAgICBzdGFsbGVkLWN5Y2xlcy1iYWNrZW5kOnUgICMgICA0Ni42OSUgYmFja2VuZCBjeWNs ZXMgaWRsZSAgICAgICgxOC44MCUpCiAgICAgOSwzMDEsNDI0LDAyNiAgICAgIGluc3RydWN0 aW9uczp1ICAgICAgICAgICAgIyAgICAwLjk5ICBpbnNuIHBlciBjeWNsZSAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAg MC40NyAgc3RhbGxlZCBjeWNsZXMgcGVyIGluc24gICgxOC43OSUpCiAgICAgMSwzOTAsOTg4 LDcyNiAgICAgIGJyYW5jaGVzOnUgICAgICAgICAgICAgICAgIyAgMzc0Ljg0OCBNL3NlYyAg ICAgICAgICAgICAgICAgICAgKDE4Ljc2JSkKICAgICAgICA2NywwNDUsOTMwICAgICAgYnJh bmNoLW1pc3Nlczp1ICAgICAgICAgICAjICAgIDQuODIlIG9mIGFsbCBicmFuY2hlcyAgICAg ICAgICAoMTguNzQlKQogICAgIDUsMjE5LDc2OCw0NTAgICAgICBMMS1kY2FjaGUtbG9hZHM6 dSAgICAgICAgICMgMTQwNi42MzkgTS9zZWMgICAgICAgICAgICAgICAgICAgICgxOC43MyUp CiAgICAgICAgNDMsNTgzLDk0NyAgICAgIEwxLWRjYWNoZS1sb2FkLW1pc3Nlczp1ICAgIyAg ICAwLjgzJSBvZiBhbGwgTDEtZGNhY2hlIGhpdHMgICAgKDE4LjcyJSkKICAgICAgICA4NSw3 MzYsNTIzICAgICAgTExDLWxvYWRzOnUgICAgICAgICAgICAgICAjICAgMjMuMTA1IE0vc2Vj ICAgICAgICAgICAgICAgICAgICAoMTguNzMlKQogICAgICAgIDE0LDYzNSwwMzAgICAgICBM TEMtbG9hZC1taXNzZXM6dSAgICAgICAgICMgICAxNy4wNyUgb2YgYWxsIExMLWNhY2hlIGhp dHMgICAgICgxOC43MyUpCiAgICAgMiw0MjksMDM2LDgwNCAgICAgIEwxLWljYWNoZS1sb2Fk czp1ICAgICAgICAgIyAgNjU0LjU4NCBNL3NlYyAgICAgICAgICAgICAgICAgICAgKDE4Ljcz JSkKICAgICAgICAgNywyNjAsNzcyICAgICAgTDEtaWNhY2hlLWxvYWQtbWlzc2VzOnUgICAj ICAgIDAuMzAlIG9mIGFsbCBMMS1pY2FjaGUgaGl0cyAgICAoMTguNzIlKQogICAgIDUsMjA2 LDQwMSwzMTUgICAgICBkVExCLWxvYWRzOnUgICAgICAgICAgICAgICMgMTQwMy4wMzYgTS9z ZWMgICAgICAgICAgICAgICAgICAgICgxOC43MiUpCiAgICAgICAgIDQsODc4LDYzNyAgICAg IGRUTEItbG9hZC1taXNzZXM6dSAgICAgICAgIyAgICAwLjA5JSBvZiBhbGwgZFRMQiBjYWNo ZSBoaXRzICAgKDE4LjcyJSkKICAgICAyLDQxOCwyNzMsMDc0ICAgICAgaVRMQi1sb2Fkczp1 ICAgICAgICAgICAgICAjICA2NTEuNjgzIE0vc2VjICAgICAgICAgICAgICAgICAgICAoMTgu NzUlKQogICAgICAgICAgICAgMiw5NDYgICAgICBpVExCLWxvYWQtbWlzc2VzOnUgICAgICAg ICMgICAgMC4wMCUgb2YgYWxsIGlUTEIgY2FjaGUgaGl0cyAgICgxOC43NyUpCgogICAgICAg My43MTgwODExOTkgc2Vjb25kcyB0aW1lIGVsYXBzZWQKCg== --------------CF6B9F5C9F5DEFD3C2969C8B Content-Type: text/plain; charset=UTF-8; name="perf-stat-emacs-32.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf-stat-emacs-32.txt" CiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZvciAnLi4vc3JjL2VtYWNzIC1iYXRjaCAt LW5vLXNpdGUtZmlsZSAtLW5vLXNpdGUtbGlzcCAtLWV2YWwgKHNldHEgbG9hZC1wcmVmZXIt bmV3ZXIgdCkgLWYgYmF0Y2gtYnl0ZS1jb21waWxlIG9yZy9vcmcuZWwnOgoKICAgICAgIDM2 NDMuMTA3OTcwICAgICAgdGFzay1jbG9jazp1IChtc2VjKSAgICAgICAjICAgIDAuOTk4IENQ VXMgdXRpbGl6ZWQgICAgICAgICAgCiAgICAgICAgICAgICAgICAgMCAgICAgIGNvbnRleHQt c3dpdGNoZXM6dSAgICAgICAgIyAgICAwLjAwMCBLL3NlYyAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgIDAgICAgICBjcHUtbWlncmF0aW9uczp1ICAgICAgICAgICMgICAg MC4wMDAgSy9zZWMgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIDQsMzIwICAgICAg cGFnZS1mYXVsdHM6dSAgICAgICAgICAgICAjICAgIDAuMDAxIE0vc2VjICAgICAgICAgICAg ICAgICAgCiAgICAgOSwyMzUsNjg5LDE0NyAgICAgIGN5Y2xlczp1ICAgICAgICAgICAgICAg ICAgIyAgICAyLjUzNSBHSHogICAgICAgICAgICAgICAgICAgICAgKDE4Ljc3JSkKICAgICAg IDY4MywyNzksNzAwICAgICAgc3RhbGxlZC1jeWNsZXMtZnJvbnRlbmQ6dSAjICAgIDcuNDAl IGZyb250ZW5kIGN5Y2xlcyBpZGxlICAgICAoMTguNzQlKQogICAgIDQsMzk1LDM2OSwyNzcg ICAgICBzdGFsbGVkLWN5Y2xlcy1iYWNrZW5kOnUgICMgICA0Ny41OSUgYmFja2VuZCBjeWNs ZXMgaWRsZSAgICAgICgxOC43MyUpCiAgICAgOSwyMjYsOTcxLDA1MyAgICAgIGluc3RydWN0 aW9uczp1ICAgICAgICAgICAgIyAgICAxLjAwICBpbnNuIHBlciBjeWNsZSAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAg MC40OCAgc3RhbGxlZCBjeWNsZXMgcGVyIGluc24gICgxOC43NCUpCiAgICAgMSwzNjAsNTc0 LDg2OSAgICAgIGJyYW5jaGVzOnUgICAgICAgICAgICAgICAgIyAgMzczLjQ2NSBNL3NlYyAg ICAgICAgICAgICAgICAgICAgKDE4Ljc1JSkKICAgICAgICA2OCwzNTIsMjYzICAgICAgYnJh bmNoLW1pc3Nlczp1ICAgICAgICAgICAjICAgIDUuMDIlIG9mIGFsbCBicmFuY2hlcyAgICAg ICAgICAoMTguNzUlKQogICAgIDUsMTI1LDU5MiwyMTQgICAgICBMMS1kY2FjaGUtbG9hZHM6 dSAgICAgICAgICMgMTQwNi45MjggTS9zZWMgICAgICAgICAgICAgICAgICAgICgxOC43NCUp CiAgICAgICAgNDEsNTI5LDA0MiAgICAgIEwxLWRjYWNoZS1sb2FkLW1pc3Nlczp1ICAgIyAg ICAwLjgxJSBvZiBhbGwgTDEtZGNhY2hlIGhpdHMgICAgKDE4Ljc0JSkKICAgICAgICA3Nyw3 NTIsNzI1ICAgICAgTExDLWxvYWRzOnUgICAgICAgICAgICAgICAjICAgMjEuMzQyIE0vc2Vj ICAgICAgICAgICAgICAgICAgICAoMTguNzQlKQogICAgICAgIDE0LDc3OCw2MTUgICAgICBM TEMtbG9hZC1taXNzZXM6dSAgICAgICAgICMgICAxOS4wMSUgb2YgYWxsIExMLWNhY2hlIGhp dHMgICAgICgxOC43NSUpCiAgICAgMiwzOTQsMDc5LDY2NCAgICAgIEwxLWljYWNoZS1sb2Fk czp1ICAgICAgICAgIyAgNjU3LjE1MyBNL3NlYyAgICAgICAgICAgICAgICAgICAgKDE4Ljc0 JSkKICAgICAgICAgNiw2NjMsNDk4ICAgICAgTDEtaWNhY2hlLWxvYWQtbWlzc2VzOnUgICAj ICAgIDAuMjglIG9mIGFsbCBMMS1pY2FjaGUgaGl0cyAgICAoMTguNzQlKQogICAgIDUsMTY0 LDcwMSw3MTcgICAgICBkVExCLWxvYWRzOnUgICAgICAgICAgICAgICMgMTQxNy42NjQgTS9z ZWMgICAgICAgICAgICAgICAgICAgICgxOC43NCUpCiAgICAgICAgIDQsNDQzLDk5NSAgICAg IGRUTEItbG9hZC1taXNzZXM6dSAgICAgICAgIyAgICAwLjA5JSBvZiBhbGwgZFRMQiBjYWNo ZSBoaXRzICAgKDE4Ljc2JSkKICAgICAyLDM0NSw3NTgsOTY4ICAgICAgaVRMQi1sb2Fkczp1 ICAgICAgICAgICAgICAjICA2NDMuODg5IE0vc2VjICAgICAgICAgICAgICAgICAgICAoMTgu NzglKQogICAgICAgICAgICAgMywzNjkgICAgICBpVExCLWxvYWQtbWlzc2VzOnUgICAgICAg ICMgICAgMC4wMCUgb2YgYWxsIGlUTEIgY2FjaGUgaGl0cyAgICgxOC43OSUpCgogICAgICAg My42NTAzMzIwMzcgc2Vjb25kcyB0aW1lIGVsYXBzZWQKCg== --------------CF6B9F5C9F5DEFD3C2969C8B--