This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
RE: strtoul etc.
- To: libstdc++@sourceware.cygnus.com
- Subject: RE: strtoul etc.
- From: "Edwards, Phil" <pedwards@ball.com>
- Date: Fri, 7 May 1999 10:33:49 -0600
+ First, with tons of special inline functions the compilation times go
+ up significantly.
To put it bluntly, does it matter?
Speaking only as an end user, libstdc++ is supposed to eventually be shipped
with EGCS, right? The build time for EGCS is already nearly an hour on a
completely unused UltraSPARC 2, and around ninety minutes on a medium-usage
O2. EGCS just isn't something that people are going to be sitting at their
desks watching build; it's something that people start compiling and then go
home for the night, or work on something else.
While fix-compile-test times are important to the /developers/, I just don't
think that it should be an overriding design consideration, given that the
end users are going to be setting off the build and walking away for a meal
anyway.
+ Second, with everything inlined you can get worse
+ execution times than with a function call to a specialized function.
+ Modern architectures are very sensitive to icache density. This kind
+ of C++ programming completely destroys it. On the other hand a
+ function call is today predicted correctly and executed alwmost
+ without penalty and the called function is used in more than one place
+ and therefore can have more probable an "hot" icache.
I don't suppose coding up both solutions -- minimally, not completely -- and
running benchmarks is an option? I'm new to this.
Phil