This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sizeof bool > sizeof int ?!?
- To: Mike Stump <mrs at wrs dot com>
- Subject: Re: sizeof bool > sizeof int ?!?
- From: Jeroen Dobbelaere <Jeroen dot Dobbelaere at tvd dot be>
- Date: Sat, 22 Aug 1998 16:40:36 +0200
- CC: egcs at cygnus dot com, hadsell at blueskystudios dot com
- References: <199808220104.SAA21655@kankakee.wrs.com>
Hi,
I once made a benchmark comparison of several compilers using bench++
for an embedded environment (MPC860).
One of the tests uses an array of bools. gcc (gnupro-97r1) suffered
a lot of the fact that it uses 4 bytes for a bool, compared to
the diab compiler which uses only one byte... (I don't have the values
any more since i moved to another company :( )
(another problem was, that this array was put on the stack so that the stack
became very large)
Mike Stump wrote:
>
> > Date: Thu, 20 Aug 1998 12:04:47 -0400
> > From: Richard Hadsell <hadsell@blueskystudios.com>
> > To: EGCS mailing list <egcs@cygnus.com>
>
> > Richard Hadsell wrote:
> > >
> > > > I realize that some (all?) alpha processors do not handle 1-byte data
> > > > efficiently. I hope that the situation will change with future
> > > > versions. But it's hard to believe that alphas don't have an efficient
> > > > instruction set for (4-byte) int data. What about short data? Are they
> > > > handled as badly as 1-byte data?
> > > >
> > > > I would prefer that bool be implemented with the best performance in
> > > > mind, including the effects of using memory efficiently, too.
> > >
> > > I haven't seen any comments from the compiler group on their decision to
> > > implement bool as an 8-byte datum on alphas. If the performance is so
> > > much better that it is worth the cost in memory usage, why is an int
> > > only 4 bytes. Since the standard allows it to be as big as a long, why
> > > not? I thought that we could expect an int to be whatever size gives
> > > the best integer performance.
> > >
> > > So I don't understand why a bool is any longer than an int. What other
> > > considerations were there in making the decision?
>
> > Comments anyone ?
>
> No. Well, ok, I wasn't going to comment, but let me make one meta
> comment about this. The most persuasive comment is one from a
> benchmark type person that measures the performance in a couple of
> different and realistic ways and makes a statement about the
> performance characteristics, the rest of us can sit back and debate if
> we want to blow the 5%, and save the space, and maybe be better to the
> cache.
>
> Random comments from random people that say `wow, man, 8 bytes instead
> of one bit, sounds like a bug' is less interesting to me.