9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] new compilers
Date: Sun, 26 Mar 2006 09:00:25 -0800	[thread overview]
Message-ID: <3e1162e60603260900y4598d216y9b58243b2e586491@mail.gmail.com> (raw)
In-Reply-To: <1388b3a83891b000d624805b51308b94@plan9.bell-labs.com>

On 3/25/06, jmk@plan9.bell-labs.com <jmk@plan9.bell-labs.com> wrote:
> On Sat Mar 25 16:57:42 EST 2006, quanstro@quanstro.net wrote:
> > eighty-megs and constantly swapping. and that's just the editor.
> >
> > if you look at the apple link i couldn't resist cluttering the list with,
> > you'll love some of the ways they work around the fact that gcc is slooow.
> > precompiled headers, speculative compiling (you saved a c file, we'll
> > compile it now, just in case you might need it), distcc, etc.
> >
> > that's not to mention the bizzare workarounds to their slow linker.
> >
> > - erik
>
> I find the notion of pre-compiled headers for anything other than
> a very special situation rather odd. Although the example given in
> the link is trivial it demonstrates an unthinking inefficiency we
> see all too often in practice:
>
>         there's a file foo.c which has an accompanying file foo.h which
>         is only ever included in foo.c
>
> This is a poor idea in many ways and is perhaps one of the reasons
> we see all these other things being necessary to make the user believe
> that things are happening faster.
>
> Recently I was poking around in a multi-file open source driver and
> came across more than one instance of the following which pulled me
> up short (names changed to protect the guilty):
>
>         foo.h contains the following:
>
>                 #define THING {                                 \
>                 { 1234, XXX_YY0, ZZZ0 },                \
>                 { 5678, XXX_YY1, ZZZ1 },                \
>                 ... 200 more of these ...
>                 }
>
>         and is only included in foo.c which contains one instance of
>         its use:
>
>                 static const struct
>                 thing thing_table[] = THING;
>
> It would never occur to me to #define a table like that. Age, I
> suppose.
>
> --jim
>
I can think of only one reason to do this.  If it's a linux kernel
driver, sometimes you get distributions that have options for "kernel
headers" and "kernel source".  Obviously kernel source includes the
headers, but in a lot of cases the headers are all you need.  In this
case, perhaps they wanted to expose the definition of a table in the
header for people to see.

Still, I agree it's very odd to do such a thing.


  parent reply	other threads:[~2006-03-26 17:00 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-25 13:56 Russ Cox
2006-03-25 19:48 ` David Leimbach
2006-03-25 19:53   ` Burton Samograd
2006-03-25 19:59     ` David Leimbach
2006-03-25 20:02   ` Charles Forsyth
2006-03-25 21:25     ` Brantley Coile
2006-03-25 21:28     ` quanstro
2006-03-25 21:33       ` Brantley Coile
2006-03-25 22:42         ` quanstro
2006-03-25 22:46         ` quanstro
2006-03-26  1:46           ` jmk
2006-03-26  2:52             ` quanstro
2006-03-26  8:14               ` Lyndon Nerenberg
2006-03-26  8:41                 ` Lyndon Nerenberg
2006-03-26 17:06                   ` Bruce Ellis
2006-03-26 17:00             ` David Leimbach [this message]
2006-03-27 17:31             ` rog
2006-03-27 19:01               ` Charles Forsyth
2006-03-27 19:15                 ` Paul Lalonde
2006-03-27 19:21                   ` Bruce Ellis
2006-03-30 17:41                   ` rog
2006-03-30 17:44                     ` Charles Forsyth
2006-03-30 18:24                       ` Skip Tavakkolian
2006-03-30 17:51                     ` Christoph Lohmann
2006-03-30 17:54                       ` Sape Mullender
2006-03-30 18:30                         ` Skip Tavakkolian
2006-03-30 18:43                           ` Gabriel Diaz
2006-03-30 18:48                             ` Skip Tavakkolian
2006-03-30 18:51                               ` Gabriel Diaz
2006-03-30 18:51                             ` Charles Forsyth
2006-03-30 21:00                           ` Bakul Shah
2006-03-30 23:16                             ` Skip Tavakkolian
2006-03-30 23:23                             ` Skip Tavakkolian
2006-03-31  6:16                               ` uriel
2006-03-31  7:56                           ` Bruce Ellis
2006-03-31  9:04                             ` Skip Tavakkolian
2006-03-30 23:32                         ` Adrian Tritschler
2006-03-30 17:57                       ` rog
2006-03-30 18:27                         ` rog
2006-03-30 20:46                           ` Roman Shaposhnick
2006-03-31  1:15                             ` Steve Simon
2006-03-31  1:24                               ` Russ Cox
2006-03-31  2:00                               ` Joel Salomon
2006-03-31  2:26                               ` Martin C. Atkins
2006-03-31  8:46                                 ` Charles Forsyth
2006-03-31  8:49                                   ` Bruce Ellis
2006-03-31 21:40                                 ` Taj Khattra
2006-03-31  4:24                             ` Jack Johnson
2006-03-31  4:33                               ` veritosproject
2006-03-30 17:58                       ` Charles Forsyth
2006-03-30 18:03                       ` jmk
2006-03-30 18:13                         ` Brantley Coile
2006-03-30 18:57                       ` Burton Samograd
2006-03-30 19:15                         ` David Leimbach
2006-03-30 19:22                           ` Charles Forsyth
2006-03-30 19:29                             ` Rob Pike
2006-03-30 19:58                               ` David Leimbach
2006-03-28  0:30 erik quanstrom
2006-03-28  0:40 erik quanstrom
2006-03-28 17:52 ` Lyndon Nerenberg
2006-03-28 18:15   ` Bakul Shah
2006-03-28 18:29     ` Sape Mullender
2006-03-28 18:52       ` LiteStar numnums
2006-03-28 19:15         ` Victor Nazarov
2006-03-29 16:33           ` Burton Samograd
2006-03-29 21:17             ` Francisco J Ballesteros
2006-03-29 21:44               ` Wes Kussmaul
2006-04-02 18:17       ` Aharon Robbins
2006-04-02 18:33         ` Bruce Ellis
2006-04-02 19:47         ` lucio
2006-04-02 20:12           ` Skip Tavakkolian
2006-04-02 20:16             ` LiteStar numnums
2006-04-03  4:35               ` lucio
2006-04-03  5:38                 ` George Michaelson
2006-04-03  6:45                   ` Lyndon Nerenberg
2006-04-03  5:38                 ` LiteStar numnums
2006-04-03  8:31                 ` Lyndon Nerenberg
2006-04-03  9:36                   ` uriel
2006-04-03 12:50                     ` Martin C. Atkins
2006-04-03  9:39                   ` lucio
2006-04-03 13:46                 ` Brantley Coile
2006-04-03 14:30                 ` David Leimbach
2006-04-03 16:02                   ` Bruce Ellis
2006-04-03 20:41                     ` Jack Johnson
2006-04-03 21:02                       ` uriel
2006-04-03 21:32                         ` Ronald G Minnich
2006-04-03 23:42                           ` Bruce Ellis
2006-04-04  0:29                           ` Anthony Sorace
2006-04-04  5:02                             ` Bruce Ellis
2006-04-04  3:15                         ` Jack Johnson
2006-04-04  3:28                         ` Jack Johnson
2006-04-04  6:31                           ` David Leimbach
2006-04-04  4:21                         ` lucio
2006-04-05  1:00                         ` Brantley Coile
2006-04-05  4:35                           ` Bruce Ellis
2006-04-04 12:31                       ` rog
2006-04-03  3:17           ` plan9
2006-04-03  4:17             ` lucio
2006-03-29  1:18 erik quanstrom
2006-03-30 20:14 Steve Simon
2006-03-31  9:17 Fco. J. Ballesteros
2006-03-31  9:40 ` Skip Tavakkolian
2006-03-31  9:42 ` Skip Tavakkolian
2006-03-31  9:43 ` Charles Forsyth
2006-03-31  9:46 ` Charles Forsyth
2006-03-31  9:48   ` Skip Tavakkolian
2006-03-31  9:56     ` Skip Tavakkolian
2006-03-31 10:01       ` Bruce Ellis
2006-03-31 10:03       ` Charles Forsyth
2006-03-31 10:08         ` Skip Tavakkolian
2006-03-31 14:58       ` David Leimbach
2006-03-31 15:01         ` Bruce Ellis
2006-03-31 22:02 ` Taj Khattra
2006-04-03 16:21 ` Ronald G Minnich
2006-04-03 17:17   ` Paul Lalonde
2006-04-03 19:01     ` Artem Letko
2006-04-03 19:22       ` Paul Lalonde
2006-03-31 12:31 Fco. J. Ballesteros
2006-03-31 12:53 ` Charles Forsyth
2006-03-31 13:23 ` Charles Forsyth
2006-03-31 14:42   ` Bruce Ellis
2006-03-31 13:27 erik quanstrom
2006-03-31 14:47 ` Bruce Ellis
2006-03-31 14:42 erik quanstrom
2006-04-03 22:54 erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e1162e60603260900y4598d216y9b58243b2e586491@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).