9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Russ Cox" <rsc@swtch.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Good enough approximation for ape/pcc
Date: Sun,  9 Apr 2006 23:19:06 -0500	[thread overview]
Message-ID: <f2763d0c539c0024e4aae35b835d5be9@swtch.com> (raw)
In-Reply-To: <20060410024959.13656.qmail@g.galapagos.bx.psu.edu>

> | The Plan 9 C libraries already provided a mechanism
> | for finding the caller - getcallerpc(2).
>
> What happens when there is no caller because the function got inlined?

Doesn't happen.  One of the many nice things about the Plan 9 compilers.

In fact, I just added two instructions to an assembly routine in
libmp *only* so that stack traces would work when starting in that
routine.  I probably slowed it down by some miniscule fraction of
a percent, and I certainly made the code a few bytes bigger.  A lose/lose,
except that now the code is more debuggable, and that's the ultimate win.

> Obviously with compiler support you could get the right effect, but
> wouldn't it be a bit more work?

Dealing with all this crap while working on plan9port has soured me
even more on the current state of mainstream programming.
I learned to program using 16-bit DOS compilers.  And they were better!
I could rant about this and tell war stories for hours.  The short
version is this.

Gcc does all these kinds of optimizations and more.  I can't imagine
what they're optimizing for.

    gcc-developer time?  many hours went into writing that code.
    compile time?  gcc is certainly getting slower
    correctness?  the code may be correct but the debugging output
       (stack traces from gdb) gets less and less reliable
    my time?  i've lost hours upon hours because of the increase
       in compile time and the unreliability of the debugging environment
    generated code speed?  it's not cpu intensive in the first place,
       or i would have said -O99 or something like that

So let's see.  For negligible benefit that I indicated wasn't worth
the effort via a compiler flag, they've wasted hours of their
own time and hours of my time.  Sounds like a bad deal to me.

In a gcc world, I'm sure __func__ and its ilk make tons of sense.
I want no part of such a world.

Russ



  reply	other threads:[~2006-04-10  4:19 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-07 18:13 Fernan Bolando
2006-04-07 19:43 ` Russ Cox
2006-04-07 19:01   ` Fernan Bolando
2006-04-07 19:17     ` uriel
2006-04-07 19:57       ` David Leimbach
2006-04-07 21:52         ` Russ Cox
2006-04-07 21:07           ` David Leimbach
2006-04-08 22:39           ` Lluís Batlle i Rossell
2006-04-08 23:50             ` quanstro
2006-04-09  0:05               ` Russ Cox
2006-04-09  5:55                 ` Scott Schwartz
2006-04-09 16:56                   ` Russ Cox
2006-04-09 21:57                     ` Scott Schwartz
2006-04-09 23:04                       ` Russ Cox
2006-04-10  2:49                         ` Scott Schwartz
2006-04-10  4:19                           ` Russ Cox [this message]
2006-04-10  4:03                             ` lucio
2006-04-10  8:37                               ` Bruce Ellis
2006-04-10 14:42                                 ` Paul Lalonde
2006-04-10 11:11                               ` quanstro
2006-04-10 11:34                                 ` Brantley Coile
2006-04-10 14:09                                   ` Ronald G Minnich
2006-04-10 14:49                                     ` Paul Lalonde
2006-04-10 15:26                                       ` andrey mirtchovski
2006-04-10 22:07                                   ` Andrew Simmons
2006-04-10 23:04                                     ` Andy Newman
2006-04-10 23:18                                       ` David Leimbach
2006-04-10 23:51                                         ` Roman Shaposhnick
2006-04-11  0:07                                           ` David Leimbach
     [not found]                                             ` <3e1162e60604101707v6214a809h516a223bf5d14a06@mail.gmail.co m>
2006-04-11  1:26                                               ` Andrew Simmons
2006-04-11  2:37                                                 ` quanstro
2006-04-11  4:20                                                   ` Bruce Ellis
2006-04-11  5:40                                                     ` Skip Tavakkolian
2006-04-11  8:18                                                       ` Bruce Ellis
2006-04-11  8:56                                                         ` Charles Forsyth
2006-04-11  9:00                                                           ` Bruce Ellis
2006-04-11  8:17                                                 ` Lluís Batlle
2006-04-11 21:30                                                 ` Roman Shaposhnick
2006-04-11 22:37                                                   ` Russ Cox
2006-04-11 22:05                                                     ` Roman Shaposhnick
2006-04-11 21:25                                             ` Roman Shaposhnick
2006-04-10  9:57                             ` Charles Forsyth
2006-04-09 23:32                       ` geoff
2006-04-07 20:10     ` Russ Cox
     [not found]     ` <ba5b34e5051e1f0238a2df3f641d4598@cat-v.org>
2006-04-08  4:18       ` Fernan Bolando
2006-04-08  5:24         ` Russ Cox
2006-04-08  7:28           ` Bruce Ellis
2006-04-08 16:18             ` Rob Pike
2006-04-08 16:42               ` Bruce Ellis
2006-04-09 23:04 erik quanstrom
2006-04-10 23:51 erik quanstrom
2006-04-10 23:53 erik quanstrom
2006-04-11  0:37 erik quanstrom
2006-04-11  0:40 erik quanstrom
2006-04-11 10:18 Andrew Simmons
2006-04-11 10:55 ` Brantley Coile
2006-04-11 11:25 ` quanstro
2006-04-11 12:58 Russ Cox
2006-04-12  0:50 erik quanstrom
2006-04-12  1:09 ` Charles Forsyth
2006-04-12 11:18 ` Aharon Robbins
2006-04-12 11:31   ` R
2006-04-12 14:01   ` Russ Cox
2006-04-12 13:44     ` Charles Forsyth
2006-04-12 14:50       ` Brantley Coile
2006-04-12  1:15 erik quanstrom
2006-04-12  1:23 ` Charles Forsyth

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=f2763d0c539c0024e4aae35b835d5be9@swtch.com \
    --to=rsc@swtch.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).