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


Groups > comp.lang.c > #101419

Re: standard error codes

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: standard error codes
Date 2017-01-11 02:56 +0000
Organization A noiseless patient Spider
Message-ID <87d1futibt.fsf@bsb.me.uk> (permalink)
References (13 earlier) <ff7efd49-18f4-46b1-ad40-23ac2421129c@googlegroups.com> <lnbmver8dr.fsf@kst-u.example.com> <ce764451-841d-4fd6-8c6f-e73a06af608b@googlegroups.com> <lny3yipqzq.fsf@kst-u.example.com> <08ef89dc-74bd-46a5-933e-8d1f71c7848e@googlegroups.com>

Show all headers | View raw


Malcolm McLean <malcolm.mclean5@btinternet.com> writes:

> On Tuesday, January 10, 2017 at 9:03:17 PM UTC, Keith Thompson wrote:
>> Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
>> > On Tuesday, January 10, 2017 at 8:01:26 PM UTC, Keith Thompson wrote:
>> >> 
>> >> The question remains, is it significantly more efficient to return
>> >> a zero/nonzero result than a negative/zero/positive result?
>> >> 
>> > C++ std::sort is built on a < operator which returns true if a < b, and
>> > has to be called a bit clumsily if(!(a < b) && !( b <a)) for equality.
>> > That gives it a slight benefit over qsort which insists on a three-way
>> > comparison.

It would not be easy to measure since std::sort has the advantage of
being able to inline the calls to the comparison function.  That's
likely to mask any advantage from a less complex function body.

>> What "slight benefit" are you referring to?  If you mean there's a
>> performance improvement, do you have measurements?
>> 
> If we're sorting on two doubles
>
> return *a < *b;
>
> will be faster than
>
>    return (*a < *b) ? 1 : (*a == *b) ? 0 : -1;

  return (*a < *b) - (*a > *b);

will probably be better and (on most architectures) won't have any
branches in it.

-- 
Ben.

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


Thread

standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-08 06:34 -0800
  Re: standard  error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-08 11:05 -0800
    Re: standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-09 03:33 -0800
      Re: standard  error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-09 04:55 -0800
        Re: standard  error codes Keith Thompson <kst-u@mib.org> - 2017-01-09 09:06 -0800
          Re: standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-09 09:52 -0800
            Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 21:50 +0000
              Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 22:36 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 14:51 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 23:39 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 15:51 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-09 16:08 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 18:51 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 02:02 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 07:34 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 01:39 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 09:07 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 09:59 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 12:02 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 12:53 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 13:03 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 15:41 -0800
                Re: standard error codes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-11 02:56 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 07:42 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 12:59 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 18:14 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 12:12 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 20:35 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 13:00 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 08:16 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 18:25 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 19:09 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 12:03 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:10 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 12:19 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 20:31 +0000
                Re: standard error codes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-01-11 15:32 -0500
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:48 +0000
                Re: standard error codes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-01-11 15:58 -0500
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 13:01 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 21:05 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 21:08 +0000
                Re: standard error codes Gareth Owen <gwowen@gmail.com> - 2017-01-11 21:38 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 21:58 +0000
                Re: standard error codes David Brown <david.brown@hesbynett.no> - 2017-01-12 12:11 +0100
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 09:28 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 18:06 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 11:39 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 19:50 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 13:03 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 21:13 +0000
                Re: standard error codes <william@wilbur.25thandClement.com> - 2017-01-12 20:00 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-13 01:56 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 12:54 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-13 09:35 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 17:38 +0000
                Re: standard error codes James Kuyper <jameskuyper@verizon.net> - 2017-01-13 13:06 -0500
                Re: standard error codes raltbos@xs4all.nl (Richard Bos) - 2017-01-18 12:00 +0000
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-18 12:13 +0000
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-12 16:43 -0800
                Re: standard error codes <william@wilbur.25thandClement.com> - 2017-01-12 19:34 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-13 09:27 -0800
                Re: standard error codes raltbos@xs4all.nl (Richard Bos) - 2017-01-12 19:33 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 12:10 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 11:50 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:38 +0000
                Re: standard error codes jadill33@gmail.com - 2017-01-11 12:26 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:44 +0000
      Re: standard  error codes Keith Thompson <kst-u@mib.org> - 2017-01-09 09:03 -0800
  Re: standard  error codes supercat@casperkitty.com - 2017-01-08 11:40 -0800

csiph-web