On 02/17/2011 10:13 AM, Don wrote:
David Nadlinger wrote:
On 2/17/11 8:56 AM, Denis Koroskin wrote:
I second that. word/uword are shorter than ssize_t/size_t and more in
line with other type names.

I like it.

I agree that size_t/ptrdiff_t are misnomers and I'd love to kill them with
fire, but when I read about »word«, I intuitively associated it with »two
bytes« first – blame Intel or whoever else, but the potential for confusion
is definitely not negligible.

David

Me too. A word is two bytes. Any other definition seems to be pretty useless.

The whole concept of "machine word" seems very archaic and incorrect to me
anyway. It assumes that the data registers and address registers are the same
size, which is very often not true.
For example, on an 8-bit machine (eg, 6502 or Z80), the accumulator was only 8
bits, yet size_t was definitely 16 bits.
It's quite plausible that at some time in the future we'll get a machine with
128-bit registers and data bus, but retaining the 64 bit address bus. So we
could get a size_t which is smaller than the machine word.

In summary: size_t is not the machine word.

Right, there is no single native machine word size; but I guess what we're interesting in is, from those sizes, the one that ensures minimal processing time. I mean, the data size for which there are native computation instructions (logical, numeric), so that if we use it we get the least number of cycles for a given operation. Also, this size (on common modern architectures, at least) allows directly accessing all of the memory address space; not a neglectable property ;-).
Or are there points I'm overlooking?

Denis
--
_________________
vita es estrany
spir.wikidot.com

Reply via email to