From: ralph@inputplus.co.uk (Ralph Corderoy)
Subject: [TUHS] /bin/true (was basic tools / Universal Unix)
Date: Tue, 28 Nov 2017 23:25:24 +0000 [thread overview]
Message-ID: <20171128232525.01EA721518@orac.inputplus.co.uk> (raw)
In-Reply-To: <CANCZdfqwK1WT8FLJsJs6Eu9TqxABJzx4Nm7niHo3yxFtUk7+0A@mail.gmail.com>
Hi Werner,
> > * Exit with a zero value as quickly as possible.
> ...
> > _exit(0);
...
> Then again _exit(0) is a useless optimization. It saves three closes
> for files that are bound to be closed at image tear down.
It also avoids checking the atexit(3) list, yet here on Linux x86_64
with glibc 2.26-6, `_exit(0)' is more instructions to execute than
`return 0', as measured with `perf stat -e instructions ./exit'.
`return 0' can just do
xor %eax, %eax
retq
whereas _exit makes room on the stack before the JSR, and that's through
the dynamic-linking table, `PLT'.
sub $0x8, %rsp
xor %edi, %edi
callq 530 <_exit at plt>
Even with `-static' linking, `return 0' wins on instruction count.
--
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy
next prev parent reply other threads:[~2017-11-28 23:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-19 14:52 /bin/true (was [TUHS] " Ron Natalie
2017-10-19 15:01 ` Pete Wright
2017-10-19 15:17 ` Chet Ramey
2017-10-19 21:23 ` Steffen Nurpmeso
2017-10-19 21:43 ` Chet Ramey
2017-10-19 23:00 ` [TUHS] /bin/true (was " Dave Horsfall
2017-10-19 23:14 ` Grant Taylor
2017-10-19 23:23 ` Lyndon Nerenberg
2017-10-19 23:27 ` Kurt H Maier
2017-10-22 4:18 ` Dave Horsfall
2017-10-20 12:10 ` Chet Ramey
2017-10-19 21:43 ` /bin/true (was [TUHS] " Dave Horsfall
2017-10-19 22:04 ` Ronald Natalie
2017-10-19 23:25 ` [TUHS] /bin/true (was " Dave Horsfall
[not found] ` <CAEoi9W7YZ7YXUip0JTMGip3Nd0czgdjqRCMRcK2GYmDJsckuDg@mail.gmail.com>
[not found] ` <CAEoi9W4zdJ3+RXjK5-5rAJ6rwx_0kx6N-bn1U61=txJGyLT_mw@mail.gmail.com>
2017-10-20 1:27 ` Dan Cross
2017-10-20 1:31 ` Lyndon Nerenberg
2017-10-20 2:05 ` Ronald Natalie
2017-11-28 16:21 ` Nemo
2017-11-28 17:56 ` Warner Losh
2017-11-28 18:26 ` Dan Cross
2017-11-28 18:41 ` Warner Losh
2017-11-28 19:09 ` Dan Cross
2017-11-28 20:34 ` Clem Cole
2017-11-28 22:42 ` Ralph Corderoy
2017-11-28 18:34 ` Bakul Shah
2017-11-28 23:25 ` Ralph Corderoy [this message]
2017-10-22 23:00 Doug McIlroy
2017-10-23 1:11 ` Dan Cross
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=20171128232525.01EA721518@orac.inputplus.co.uk \
--to=ralph@inputplus.co.uk \
/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).