From: "Stefan Monnier" <monnier+gnu/emacs@rum.cs.yale.edu>
Cc: emacs-devel@gnu.org
Subject: Re: malloc and alignment
Date: Mon, 16 Jun 2003 11:59:37 -0400 [thread overview]
Message-ID: <200306161559.h5GFxbw9011912@rum.cs.yale.edu> (raw)
In-Reply-To: x51xxuvys5.fsf@lola.goethe.zz
> > I'd like to try and get rid of the markbit on Lisp_Object values.
> > The idea is to scrape off a few more bits (I'd like to bump maxint
> > to 512MB instead of 128MB). And I'd also like to represent floats
> > in 8bytes rather than 12.
>
> If you are scraping off bits, why not instead _add_ one, but reserve
> _all_ the additional tag values gained in that way for representing
> integers?
Oh, I also forgot to mention that integers currently have 3bit
of tag and 1bit of markbit, just like the rest and without getting
rid of the markbit (what I'm trying to do), you can't go below a
total of 2bits eaten (1bit of markbit and 1bit of tag).
By getting rid of the markbit, we get the current count on integers
down to 3bits eaten. We can trivially reduce it further because
only 7 of the 8 tag values are currently used, so we can allocate
the 8th one to int as well, so we are down to 2bit of tags
for ints with only trivial changes to the code. That's where
my 512MB number comes from.
To bump it up to 1GB, we'd need to indeed extend the tag size on
non-integers somewhat, which might not be that difficult, by
the way, but we'll see about that later.
BTW, someone on the XEmacs list recently complained that he had trouble
opening a 755MB file. XEmacs supposedly handles up to 1GB buffers,
but his Emacs process went up to 2.1GB (Mule begins by allocating
a destination area of 1510MB because latin-1 has a max-expansion factor
of 2), so I think that a 512MB limit due to integers might not be that bad,
since bumping it to 1GB will just replace this limit with others.
Stefan
next prev parent reply other threads:[~2003-06-16 15:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-16 14:38 malloc and alignment Stefan Monnier
2003-06-16 15:15 ` David Kastrup
2003-06-16 15:39 ` Stefan Monnier
2003-06-16 15:59 ` Stefan Monnier [this message]
2003-06-17 4:57 ` Stephen J. Turnbull
2003-06-17 7:35 ` David Kastrup
2003-06-16 22:35 ` Miles Bader
2003-06-16 23:11 ` Stefan Monnier
2003-06-17 2:25 ` Miles Bader
2003-06-17 4:48 ` Stephen J. Turnbull
[not found] ` <E19SJCe-0008Bb-Vp@fencepost.gnu.org>
2003-06-24 22:52 ` Stefan Monnier
[not found] ` <E19VGK5-0000CQ-F4@fencepost.gnu.org>
2003-06-27 23:17 ` Stefan Monnier
2003-06-27 23:47 ` Miles Bader
2003-06-29 2:30 ` Richard Stallman
2003-07-04 20:42 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200306161559.h5GFxbw9011912@rum.cs.yale.edu \
--to=monnier+gnu/emacs@rum.cs.yale.edu \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).