Difference between revisions of "Optimization"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Programming * Optimization''' '''Optimization''' is about to chose the best element from some set of available alternatives, as referred in [https...")
 
 
Line 30: Line 30:
 
: [http://www.talkchess.com/forum/viewtopic.php?t=61373&start=2 Re: Beginner's guide to graphical profiling] by [[Marco Costalba]], [[CCC]], September 10, 2016 » [[Stockfish]]
 
: [http://www.talkchess.com/forum/viewtopic.php?t=61373&start=2 Re: Beginner's guide to graphical profiling] by [[Marco Costalba]], [[CCC]], September 10, 2016 » [[Stockfish]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66701 Reliable speed comparison: some math required] by [[Marco Costalba]], [[CCC]], February 27, 2018 » [[Nodes per Second]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66701 Reliable speed comparison: some math required] by [[Marco Costalba]], [[CCC]], February 27, 2018 » [[Nodes per Second]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75308 Performance loss when removing unused function] by [[Oliver Brausch]], [[CCC]], October 05, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75525 Different performance of equal executables] by [[Oliver Brausch]], [[CCC]], October 24, 2020
  
 
=External Links=
 
=External Links=

Latest revision as of 23:41, 26 October 2020

Home * Programming * Optimization

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]:

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.

See also

Publications

Forum Posts

Re: Beginner's guide to graphical profiling by Marco Costalba, CCC, September 10, 2016 » Stockfish

External Links

Program Optimization

Mathematical Optimization

Global optimization from Wikipedia
Optimization problem from Wikipedia

References

  1. Donald Knuth (1974).Structured Programming with go to Statements. ACM Computing Surveys, Vol. 6, No. 4, pdf

Up one Level