This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: strtoul etc.



+ 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]