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>