Date: Fri, 04 May 2007 17:25:42 +0100 From: Tom Evans <tevans.uk@googlemail.com> To: valiy <valiy-td@mail.ru> Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD 6.1 6.2 C++ stl set.clear() very slow Message-ID: <1178295942.1510.16.camel@zoot.mintel.co.uk> In-Reply-To: <463B5809.90602@mail.ru> References: <463B3D49.7090101@mail.ru> <1178293330.1510.10.camel@zoot.mintel.co.uk> <463B5809.90602@mail.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-PoV7i2JXPd59h/tG9jbW Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, 2007-05-04 at 19:58 +0400, valiy wrote: > Tom Evans wrote: > > On Fri, 2007-05-04 at 18:03 +0400, valiy wrote: > > <SNIP> > > =20 > >> TEST1 > >> FreeBSD idx 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10 #1: Wed Nov 8=20 > >> 18:59:20 UTC 2006 root@idx:/usr/src/sys/amd64/compile/SMP amd64 > >> > >> > >> 19:07:15 root@idx3 ~ $ g++ ./test_set.cpp > >> 19:07:23 root@idx3 ~ $ ./a.out > >> filling > >> clearing > >> done > >> alloc time 1.938 clear time 15.290 > >> =20 > > <SNIP> > > =20 > >> TEST2 > >> FreeBSD proton 5.5-RELEASE FreeBSD 5.5-RELEASE #0: Mon Jun 26 21:47:56= =20 > >> MSD 2006 root@proton:/usr/src/sys/i386/compile/PROTON i386 > >> [root@proton ~]# g++ test_set.cpp > >> [root@proton ~]# ./a.out > >> filling > >> clearing > >> done > >> alloc time 2.529 clear time 5.685 > >> > >> =20 > > <SNIP> > > =20 > >> TEST3: > >> FreeBSD hotdog 4.9-RELEASE FreeBSD 4.9-RELEASE #3: Fri Jul 1 19:35:10= =20 > >> MSD 2005 root@hotdog:/usr/src/sys/compile/HOTDOG i386 > >> > >> 19:18 root@puma vvolodin $ ./a.out > >> filling > >> clearing > >> done > >> alloc time 4.001 clear time 0.305 > >> > >> pentium3 2x700MHz > >> > >> how to fix? > >> > >> =20 > > > > (Couldnt see your 6.2 result, did I snip it?) > > > > Upgrade to 6.2, or for better results, 7-CURRENT=20 > > $ uname -a && ./stl_test=20 > > FreeBSD zoot.mintel.co.uk 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Wed Mar 2= 8 > > 12:29:25 BST 2007 root@zoot.mintel.co.uk:/usr/obj/usr/src/sys/ZOOT > > i386 > > filling > > clearing > > done > > alloc time 2.252 clear time 0.441 > > (CURRENT with no INVARIANTS nor WITNESS, and MALLOC_PRODUCTION defined) > > > > > > $ uname -a && ./stl_test > > FreeBSD bob.mintel.co.uk 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Thu Jan 18 > > 14:18:05 GMT 2007 root@bob.mintel.co.uk:/usr/obj/usr/src/sys/BOB > > i386 > > filling > > clearing > > done > > alloc time 2.705 clear time 5.691 > > > > Is your test for 4 using GCC 2.95 ? C++ in GCC 2.95 is =C2=ABinterestin= g=C2=BB in > > the shortcuts it takes. > > =20 > We didn't include 6.2 report in mail, but we experience same probles.=20 > results are exactly as yours above (alloc time 2.7 clear time 5.6) >=20 > BSD 4 test was using compiler 2.95 >=20 > Is there any way to fix it without upgrading to 7.0? Not sure, I'd be interested in this as well, we do LOTS of computation using STL containers (and run 6.2 everywhere). I was advised that bob [the 6.2 box I tested on] 'was a bit s***', so I've also tested on another box: > $ uname -a && ./stl_test=20 FreeBSD roley.mintel.co.uk 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Wed Jan 17 10:37:46 GMT 2007 root@roley.mintel.co.uk:/usr/obj/usr/src/sys/ROLEY amd64 filling clearing done alloc time 1.968 clear time 12.420 Seems that amd64 is even worse in this situation than i386. Very curious. I didn't mention it before, but all of my tests are done using GCC 3.4.6 Cheers Tom --=-PoV7i2JXPd59h/tG9jbW Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQBGO16ClcRvFfyds/cRAswRAJ9dOcH66yV7qpO+NBumx7bqmVCSXwCeJgiv i11H38cRKDdwu4wlOncrQDw= =Ihlr -----END PGP SIGNATURE----- --=-PoV7i2JXPd59h/tG9jbW--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1178295942.1510.16.camel>