Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #4507

Re: size_t in a struct

From Dr Nick <3-nospam@temporary-address.org.uk>
Newsgroups comp.lang.c
Subject Re: size_t in a struct
Date 2011-05-22 10:08 +0100
Message-ID <877h9j6r29.fsf@temporary-address.org.uk> (permalink)
References (1 earlier) <ir6d98$e50$1@dont-email.me> <ir6mjl$d08$1@speranza.aioe.org> <lntycpyp2p.fsf@nuthaus.mib.org> <ir8uj5$gq1$1@speranza.aioe.org> <lnhb8nzl47.fsf@nuthaus.mib.org>

Show all headers | View raw


Keith Thompson <kst-u@mib.org> writes:

> Edward Rutherford <edward.p.rutherford79@REMOVETHIS.gmail.com> writes:
>> Keith Thompson wrote:
> [...]
>>> Again, *why* are you so concerned about minimizing padding?  What bad
>>> thing would happen if there were a little padding between members in
>>> your structs?
>>> 
>>> If you'll tell us what your actual goal is, we'll be better able to help
>>> you.
>>
>> Thanks for that information.
>>
>> I want to avoid padding in order to minimize the size of my structs in 
>> order to prevent caches misses where possible. I would expect that the 
>> overhead from using memcpy and unsigned char arrays, would outweight the 
>> savings from optimizing cache usage - happy to be corrected though.
>
> Have you performed measurements that indicate that your program's
> performance is unacceptably slow, and that making your structs
> slightly smaller will actually help?  Are the hours you're spending
> on this worth the CPU time you expect to save?

I've often thought it would be nice to be able to tell the compiler to
"optimise this structure's order for space" or "optimise this
structure's order for size".  It would, of course, only work in modular
code if you never exposed the structure definition and just used opaque
pointers.  But you'd be telling it that you never rely on the order of
things, and so could still structure the structure in the way that makes
the code most readable.

But it's very much an "it would be nice", as I suspect the benefits are
pretty small.
-- 
Online waterways route planner            | http://canalplan.eu
Plan trips, see photos, check facilities  | http://canalplan.org.uk

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

size_t in a struct Edward Rutherford <edward.p.rutherford79@REMOVETHIS.gmail.com> - 2011-05-20 18:22 +0000
  Re: size_t in a struct Shao Miller <sha0.miller@gmail.com> - 2011-05-20 14:52 -0400
    Re: size_t in a struct Edward Rutherford <edward.p.rutherford79@REMOVETHIS.gmail.com> - 2011-05-20 21:31 +0000
      Re: size_t in a struct Ian Collins <ian-news@hotmail.com> - 2011-05-21 09:51 +1200
        Re: size_t in a struct Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-05-24 21:34 +0300
          Re: size_t in a struct Ian Collins <ian-news@hotmail.com> - 2011-05-25 07:54 +1200
      Re: size_t in a struct "[the China Blue] Drill Baby Drill" <chine.bleu@yahoo.com> - 2011-05-20 15:06 -0700
        Re: size_t in a struct Angel <angel+news@spamcop.net> - 2011-05-20 22:51 +0000
      Re: size_t in a struct Keith Thompson <kst-u@mib.org> - 2011-05-20 15:39 -0700
        Re: size_t in a struct Edward Rutherford <edward.p.rutherford79@REMOVETHIS.gmail.com> - 2011-05-21 18:00 +0000
          Re: size_t in a struct Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-05-21 14:12 -0600
          Re: size_t in a struct Keith Thompson <kst-u@mib.org> - 2011-05-21 16:31 -0700
            Re: size_t in a struct Dr Nick <3-nospam@temporary-address.org.uk> - 2011-05-22 10:08 +0100
              Re: size_t in a struct Shao Miller <sha0.miller@gmail.com> - 2011-05-22 13:24 -0500
                Re: size_t in a struct Ben Pfaff <blp@cs.stanford.edu> - 2011-05-22 10:37 -0700
                Re: size_t in a struct Uncle Steve <stevet810@gmail.com> - 2011-05-22 14:18 -0400
                Re: size_t in a struct Keith Thompson <kst-u@mib.org> - 2011-05-22 12:17 -0700
                Re: size_t in a struct David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
                Re: size_t in a struct Shao Miller <sha0.miller@gmail.com> - 2011-05-23 02:05 -0500
                Re: size_t in a struct Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-05-23 11:21 +0100
                Re: size_t in a struct Shao Miller <sha0.miller@gmail.com> - 2011-05-23 19:40 -0500
                Re: size_t in a struct Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-05-24 01:25 +0100
                Re: size_t in a struct Shao Miller <sha0.miller@gmail.com> - 2011-05-23 20:43 -0500
          Re: size_t in a struct gordonb.d6jvy@burditt.org (Gordon Burditt) - 2011-05-22 17:48 -0500
      Re: size_t in a struct Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-05-21 15:43 +0000
  Re: size_t in a struct Keith Thompson <kst-u@mib.org> - 2011-05-20 11:59 -0700
  Re: size_t in a struct Nobody <nobody@nowhere.com> - 2011-05-20 22:24 +0100

csiph-web