From h.wickham at gmail.com  Thu Aug 29 21:26:29 2013
From: h.wickham at gmail.com (Hadley Wickham)
Date: Thu, 29 Aug 2013 14:26:29 -0500
Subject: [Rd] Why does an empty vector occupy 40 bytes?
In-Reply-To: <B6D87831-7F8A-4474-B4A9-0021FC71B486@r-project.org>
References: <CABdHhvFchkfQagqO1xJbEn9MbePFLO6VR4kaNhUYgzyB6Jp8tg@mail.gmail.com>
	<521F6474.40307@stats.ox.ac.uk>
	<CABdHhvHZ2RYd_TGrehUSUt5xw6y-pgNbxQ8Tpu0jiAj145Z5KQ@mail.gmail.com>
	<7447F5AA-A29E-412B-8DEF-25D6F796FF16@r-project.org>
	<CABdHhvGayo-GatxtrMW6oCR9a3fBbw_1gJ2Y0hvv63QMT7dDFQ@mail.gmail.com>
	<B6D87831-7F8A-4474-B4A9-0021FC71B486@r-project.org>
Message-ID: <CABdHhvGoM-bHcH0Q-zcWGwRZsRQzb4gU3yNvL6kNb2PHdF2Z0w@mail.gmail.com>

>> Do pointers always have to be aligned?
>
> Depends on the architecture, e.g., Sparc doesn't allow non-aligned pointers at all (results in a segfault), SV x86_64 ABI specifies pointers to be aligned at 8 bytes, but the x86_64 CPUs will allow misaligned pointers with a performance penalty (the same was true for x86 - i.e. misaligned pointers are tolerated with a penalty).

Ok, so you might not have to align pointers a particular architecture,
but if you're writing code that you want to work across multiple
architectures you must.

Hadley

-- 
Chief Scientist, RStudio
http://had.co.nz/



[Rd] Why does an empty vector occupy 40 bytes?
Hadley Wickham