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


Groups > comp.lang.c > #12367

Re: the loop control

From jgk@panix.com (Joe keane)
Newsgroups comp.lang.c
Subject Re: the loop control
Date 2011-10-31 16:36 +0000
Organization Public Access Networks Corp.
Message-ID <j8miq2$kh4$1@reader1.panix.com> (permalink)
References <j8hrok$3cq$1@reader1.panix.com> <op.v35g1ubrlahckh@cantereyd>

Show all headers | View raw


compare

int fc(int len, struct foo *fob, struct bar *bab)
{
    ...

    for (j = 0; j < len; j++)
    {
	fob[j].a = bab[j].x;
	fob[j].b = bab[j].y + 1;
	fob[j].c = bab[j].d;
    }

    ...
}

versus

int fd(int len, struct foo *fob, struct bar *bab)
{
    ...

    for (j = 0; j < len; j++)
    {
	fop = &fob[j];
	bap = &bab[j];
	fop->a = bap->x;
	fop->b = bap->y + 1;
	fop->c = bap->d;
    }

    ...
}

The first one looks like Pascal or Fortran.  The second one looks more
like C.  It says 'i don't need the array base and index, just give me
the pointer'.

All style, you should get the same machine code.  But i've seen too many
cases where the code that looks 'faster' actually is!  I mean it's nice
to say 'the optimizer will take care of this', but then it doesn't hurt
to help it some, by not making code more complicated than it should be.

Anyway readability is key; to me code like

    ct = len;
    fop = fob;
    while (--ct >= 0)
    {
	...(fop)
	fop++;
    }

is so idiomatic that it's easiest.

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


Thread

the loop control jgk@panix.com (Joe keane) - 2011-10-29 21:38 +0000
  Re: the loop control Ian Collins <ian-news@hotmail.com> - 2011-10-30 10:48 +1300
  Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-29 22:10 +0000
    Re: the loop control jgk@panix.com (Joe keane) - 2011-10-31 15:21 +0000
      Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 11:35 -0400
        Re: the loop control jgharston <jgh@arcade.demon.co.uk> - 2011-10-31 10:27 -0700
          Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-10-31 18:36 +0000
          Re: the loop control Robert Wessel <robertwessel2@yahoo.com> - 2011-10-31 13:49 -0500
          Re: the loop control Sjouke Burry <s@b> - 2011-10-31 18:49 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 15:07 -0400
          Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-10-31 13:56 -0700
      Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-10-31 17:18 +0000
        Re: the loop control Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-01 04:35 -0700
          Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-11-01 21:44 +0000
            Re: the loop control Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-02 01:16 -0700
      Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-31 19:23 +0000
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-02 04:47 +0000
      Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:07 +0200
        Re: the loop control Ike Naar <ike@sverige.freeshell.org> - 2011-11-01 00:11 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 22:01 -0400
            Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-11-01 02:51 +0000
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:23 -0400
            Re: the loop control Ike Naar <ike@iceland.freeshell.org> - 2011-11-01 09:51 +0000
              Re: the loop control pete <pfiland@mindspring.com> - 2011-11-01 05:34 -0500
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:30 -0400
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:35 -0400
            Re: the loop control Hans Vlems <hvlems@freenet.de> - 2011-11-11 00:38 -0800
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-02 03:36 +0000
          Re: the loop control Ian Collins <ian-news@hotmail.com> - 2011-11-02 17:09 +1300
            Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-11-02 03:56 -0700
      Re: the loop control Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-10-31 21:38 +0000
  Re: the loop control Acid Washed China Blue Jeans <chine.bleu@yahoo.com> - 2011-10-29 19:31 -0700
  Re: the loop control Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-10-29 23:11 -0600
  Re: the loop control "Philip Lantz" <prl@canterey.us> - 2011-10-29 22:47 -0700
    Re: the loop control jgk@panix.com (Joe keane) - 2011-10-31 16:36 +0000
      Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-31 19:30 +0000
        Re: the loop control blp@cs.stanford.edu (Ben Pfaff) - 2011-10-31 12:38 -0700
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 15:51 -0400
            Re: the loop control blp@cs.stanford.edu (Ben Pfaff) - 2011-10-31 13:06 -0700
            Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-10-31 14:17 -0700
              Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-11-01 21:44 +0000
            Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:30 +0200
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-03 21:29 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-03 18:00 -0400
          Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-11-04 00:43 +0000
            Re: the loop control jgk@panix.com (Joe keane) - 2011-11-11 02:24 +0000
      Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:20 +0200
      Re: the loop control pete <pfiland@mindspring.com> - 2011-10-31 18:01 -0500
        Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-02 01:20 +0200
  Re: the loop control 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-02 01:25 -0700

csiph-web