Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jul 2014 20:37:56 +0100
From:      Alexander Nasonov <alnsn@yandex.ru>
To:        svn-src-all@freebsd.org
Cc:        Joerg Sonnenberger <joerg@britannica.bec.de>
Subject:   Re: svn commit: r268566 - head/usr.bin/users
Message-ID:  <20140714193756.GA19466@neva>
In-Reply-To: <20140714192322.GA23366@britannica.bec.de>
References:  <201407120747.s6C7lpYE020200@svn.freebsd.org> <20140712195452.N3279@besplex.bde.org> <20140714192322.GA23366@britannica.bec.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Joerg Sonnenberger wrote:
> On Sat, Jul 12, 2014 at 09:34:28PM +1000, Bruce Evans wrote:
> > Run time:
> > C++ sort() was twice as slow as qsort() for sorting 1 million dummy
> > users in the allocation tests.  About 8 seconds instead of 4, except
> > when compiled with -g -O0 it was 15 seconds instead of 4.
> 
> I find that claim strange and not reproducable. In my tests, std::sort
> tends to be significant faster than qsort. Attached is a small test
> program that for me is twice as fast for sorting integers...

Integers are faster indeed but I'm not sure about used-defined
types like basic_string<CharT,TraitsT,AllocT>. qsort uses 3-way
comparison while std::sort always uses less_than (a<b) and !(a<b).
The compiler can optimize when a and b are integers but not when
they're user-defined types with a user-defined comparison function.

Alex



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140714193756.GA19466>