This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14563] new/delete much slower than malloc/free because of sjlj exceptions
- From: "paulthomas2 at wanadoo dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Nov 2004 11:03:03 -0000
- Subject: [Bug target/14563] new/delete much slower than malloc/free because of sjlj exceptions
- References: <20040312233606.14563.paulthomas2@wanadoo.fr>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From paulthomas2 at wanadoo dot fr 2004-11-13 11:02 -------
Subject: Re: new/delete much slower than malloc/free because of sjlj exceptions
> Here's a test case for you...
> -Ken
That's interesting....
Using your test case:
(i) gcc 3.2 20020927 ( prerelease) both versions take 0.62micro-sec/new
(ii) gcc 3.1.1 (cygming special) I get 2.1 and 0.66micro-sec/new
(iii) gcc 4.0.0 20041010 (experimental) I get 0.62 and 0.59micro-sec/new
This latter was a tad unexpected - I built in from a snapshot on one of the
German mirror sites. Does this imply that I have picked up Dwarf2 as a
default?
Going back to the beginning of this rather long thread, you will note that
it was building octave that first exposed this problem. I think that octave
is calling new too many times anyway, for certain types of code, and had
started hanging counters on an overloaded new operator. It would not be a
big deal to substitute your version and to compare the performance with
THROW defined or not.
Give me a few days, the build takes a few hours under Cygwin and I have some
concreting to do this weekend.... *sigh*
Regards
Paul Thomas
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14563