This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [cxx-abi-dev] comparing type_infos (was Re: Patch forthrow/catchproblems)
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: [cxx-abi-dev] comparing type_infos (was Re: Patch forthrow/catchproblems)
- From: Eli Boling <eboling at borland dot com>
- Date: Tue, 14 Aug 2001 22:36:31 -0500
- Cc: Jason Merrill <jason_merrill at redhat dot com>, Jakub Jelinek <jakub at redhat dot com>,Richard Henderson <rth at redhat dot com>, David Lampell <david dot lampell at smarts dot com>,"gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>,"cxx-abi-dev at codesourcery dot com" <cxx-abi-dev at codesourcery dot com>
- Organization: Borland
- References: <306810000.997830099@warlock.codesourcery.com>
> >> Startup cost happens once per program, except for any excess memory
> >> used that hangs around. So, for a long-running application (anything
> >> graphical definitely qualifies) this isn't *too* important, and there
> >> are techniques (caching, prelinking) that can get around the problem.
> >
> > And yet it seems to be a significant problem for a significant number of
> > people. I was trying hard to avoid unnecessary dynamic relocations in the
> > ABI; clearly I failed. I think I wasn't paying close enough attention to
> > the RTTI stuff.
>
> Certainly a laudable goal. I do wonder though if a better solution
> wouldn't be to improve the dynamic loader; it's certainly possible to
> write DLLs in C that have similarly many symbols to relocate. It's
> even more possible in Java or C#. Not that we shouldn't do what we
> can, but heck, GNOME apps written in C don't start up as fast as I'd
> like either.
I really prefer that not to focus on a solution that relies on the performance
of the dynamic loader to patch up pitfalls in the design of the implementation.
That works fine for the unix community, but not so hot for the Windows
community. If I work on an ABI, I don't want to have to redo big pieces of it
on another platform because the loader isn't tuned to deal with issues related
to particular language implementations.
-Eli Boling
Borland