ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Optimization refers to seeking out areas of a program that behave more slowly than desired, or scale poorly, and improving them. Optimization should be one of the LAST things that you do in a program's development cycle, since you won't know where the performance bottlenecks will be until that point. Optimizing before then may end up in no overall performance gain.
They probably optimize over and over once their codebase has stabilized. Once you optimize out one bottleneck, you profile again and look for other bottlenecks. Then you optimize thouse out. And so on and so forth until it would become prohibitively difficult to code and/or your performance is acceptable.
a program may be optimized to take full advantage of a processor's ability. for example a program may use i486 assembly calls. such a program is i486 optimized. it may run on on a i386 only if it is backwards compatible and has a set of i386 calls to replace the i486-specific call (run unoptimized of course). when you run ./configure, AutoConf will determine which arguments to pass to gcc (or other compiler). these arguments are specific to your system. so on my P2, the following arguments to gcc are present "-mcpu=pentium2 -march=pentium2". im not sure if that makes the program backward's compatible with pre-i686 archeitechtures or not, but if it does not, then somewhere along the line, this binary would crash on a P1.