Skip site navigation (1)Skip section navigation (2)
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>