As a warning on premature optimization a quote by Donald Knuth[1]:
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Program Optimizations
Program Optimization is a necessary part of a decent chess program. It comes in two forms, compiler-end and program-end. Compiler-end optimization involves using specific flags to get a quick program at the cost of speed of compile and memory usage, whereas program-end optimization involves using inline functions and things like that.
Table of Contents
Optimization is about to chose the best element from some set of available alternatives, as referred in mathematical optimization as for instance applied in computer chess to optimize evaluation weights with automated tuning methods, and program optimizations, which is the topic covered on this page. Most importantly there is the algorithmic optimization on design level such as using alpha-beta rather than plain minimax, followed by source code optimizations, and finally Compiler optimizations.
Premature Optimization
As a warning on premature optimization a quote by Donald Knuth [1]:Program Optimizations
Program Optimization is a necessary part of a decent chess program. It comes in two forms, compiler-end and program-end. Compiler-end optimization involves using specific flags to get a quick program at the cost of speed of compile and memory usage, whereas program-end optimization involves using inline functions and things like that.Compiler-end Optimization
Compilers
Generally, the Intel C Compiler produces faster compiles, though in recent times, the GNU C Compiler is catching up.Compiler flags
See also
Publications
Forum Posts
Re: Beginner's guide to graphical profiling by Marco Costalba, CCC, September 10, 2016 » Stockfish
External Links
Global optimization from Wikipedia
Optimization problem from Wikipedia
References
What links here?
Up one Level