[...]
You may disagree with what I say but please respect my right to say it.
I respect the right. I do not, however, respect your failure
to make good use of it.
I need to build up a portfolio of suggested improvements to the ISO
Standard for my masters thesis. Some of them may have unforeseen
problems, but all of them have my thought put in to them.
If this is a sample of your thought, I suggest -- and this is
entirely serious, not meant as an insult -- that you seek another field
of endeavor. Your thought, earnest and well-intentioned though it may
have been, is clearly unsuited to the disciplines of programming for
digital computers. I predict that your quest to write a thesis that
will earn you a degree will be futile; you lack the ability.
That's not a Bad Thing in and of itself. My clumsy fingers and
generally deficient dexterity would make me an atrocious harpist, but
I console myself with the thought that I'm good at other things. My
inability to play the harp would only become Bad if I forced my wretched
twangings on the public at large, if I deluded myself into thinking I
merited advanced degrees in harpistry. Nobody despises me today for
failing to play the harp, but if I were to start trying to pass myself
off as a harpist I would deserve their scorn.
I am happy if
people seek to improve them, unfortunately on this group most people only
want to knock down ideas.
It does no one a service to applaud ill-considered ideas.
You may not be aware that on most architectures, truncating a 64-bit
value to 32-bits will be a very cheap operation, often even free, e.g.
the low half of a 64-bit register can be accessed directly as a 32-bit
register with no transformations needed. So my proposal has small/zero
cost and allows access to address 0x0, often needed for interrupt tables.
... and here again you demonstrate an inability to reason about your
chosen field. Think for a moment, Sandeep: Imagine, say, a binary tree
whose nodes hold three pointers: One to the payload, and one to each of
the left and right subtrees. Pretty standard stuff, nothing unusual at
all. Okay, your proposal would double the size of this data structure,
from (say) twelve to twenty-four bytes, or maybe twenty-four to forty-
eight. Now, aside from I/O devices, what is the slowest part of a
modern computer? Hint: It's the part with all those multiple levels of
expensive cache between it and the CPU. And you want to double the
amount of data stored in this slowest part of the system, double the
pressure on every level of cache, double the miss rates thereof -- and
you want to call this "very cheap?" You want to store three bits'
worth of information in ninety-six bits of memory, or maybe a hundred
ninety-two, and claim this is "often even free?"
Find a harp, Sandeep. Or put your fine motor skills to use as a
dentist or surgeon, or give rein to your killer instinct as a hired
assassin, or discover a talent for hybridizing tea plants. But stop
messing with computers; your computer engineering is badly out of tune.