help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

g++ and library optimisations


From: pemo
Subject: g++ and library optimisations
Date: Sat, 12 May 2007 18:35:27 +0100

Disclaimer: I know she's using Red Hat Linux, but I can't find out anything 
about her compiler at the moment as the cluster she runs all this on seems 
to have died.  Hopefully I'll be able to provide this soon though.

---

My girlfriend, who is a mathematician and competent C++ programmer, has an 
app that does some tricky stuff with bits of DNA.  Currently, it has to run 
for at least 18 hours before she can get any results back from it.

Now, although she's a decent enough programmer, she doesn't have much of a 
clue when it comes to optimisation, e.g., she's never profiled anything in 
her life, has never heard of compiler optimisations or linking with 
libraries that are perhaps more tailored to her needs, ...

I suggested that she A) profile her code, B) find a version of some of the 
STL classes that were perhaps rather more efficient than the ones she was 
using C) consider re-compiling some of the library code she's using with 
some decent optimisations.

Now, I'm not a g++ user, so I have no clue as to how I can help her 
find/test some of this stuff - thus this post.

So, some questions:

1. Is there a recommended [tried/tested] version of the STL Vector class 
that's likely to be faster than the one she's using [I've no idea as to 
where her existing one came from, but, knowing her department, it would have 
simply come bundled with something else - g++ perhaps]?

2. How difficult would it be to recompile parts of the library code she uses 
[if she can find the sources], e.g., is the STL Vector class easy enough to 
recompile into a .o etc?

3. Are there debug versions of the standard and STL libraries?  And, how can 
one tell if a library is a debug version or not [just want to check she's 
not linking with these right now!] **and** is there an easy way to find what 
libraries she's linking with - perhaps through asking the linker [rather 
than following paths]?

4. What are a decent set of basic compiler optimisation switches to use - 
for speed [think she's using -O3 at the moment]?

5. How can I help her profile her code [and make sense of the results]


Very many thanks!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]