T
Tzu-Chien Chiu
Hi,
"What methods do you ever use to optimize the programs?"
We're developing a graphics chip emulator in C++, but it's very slow
for big scenes. Even though this is a cross-platform software, I only
want to optimize it on the Win32 (Windows 2000/XP) platform.
I've tried the following method to optimize it:
* Boost.Pool - a fast memory allocation algoritm, fixed-size chunks.
<http://www.boost.org/libs/pool/doc/index.html>
* Whole Program Optimization with Visual C++ .NET
<http://www.codeproject.com/tips/gloption.asp>
I almost turn on every possbile Visual C++ options to optimize the
speed.
* inline every possbile function
Not tried yet:
* Improving Runtime Performance with the Smooth Working Set Tool
<http://msdn.microsoft.com/msdnmag/issues/1000/bugslayer/default.aspx>
I don't think it will help much, because our program is about 500KB.
Or not?
* Recompile the CRT with _fastcall calling convetion
* Link single-thread CRT instead of multi-thread CRT
We don't use many CRT functions.
* Distributed Computing
<http://www-unix.mcs.anl.gov/mpi/>
Uh, not feasible. I am looking for "fast" approches, like a compiler
option, etc.
"What methods do you ever use to optimize the programs?"
We're developing a graphics chip emulator in C++, but it's very slow
for big scenes. Even though this is a cross-platform software, I only
want to optimize it on the Win32 (Windows 2000/XP) platform.
I've tried the following method to optimize it:
* Boost.Pool - a fast memory allocation algoritm, fixed-size chunks.
<http://www.boost.org/libs/pool/doc/index.html>
* Whole Program Optimization with Visual C++ .NET
<http://www.codeproject.com/tips/gloption.asp>
I almost turn on every possbile Visual C++ options to optimize the
speed.
* inline every possbile function
Not tried yet:
* Improving Runtime Performance with the Smooth Working Set Tool
<http://msdn.microsoft.com/msdnmag/issues/1000/bugslayer/default.aspx>
I don't think it will help much, because our program is about 500KB.
Or not?
* Recompile the CRT with _fastcall calling convetion
* Link single-thread CRT instead of multi-thread CRT
We don't use many CRT functions.
* Distributed Computing
<http://www-unix.mcs.anl.gov/mpi/>
Uh, not feasible. I am looking for "fast" approches, like a compiler
option, etc.