[[International Standard Name Identifier|In]] [[computer science]], '''program optimization''', '''code optimization''', or '''software optimization''' is the process of modifying a software system to make some aspect of it work more [[algorithmic efficiency|efficiently]] or use fewer resources.<ref>[[Robert Sedgewick (computer scientist)|Robert Sedgewick]], ''Algorithms'', 1984, p. 84.</ref> In general, a [[computer program]] may be optimized so that it executes more rapidly, or to make it capable of operating with less [[Computer data storage|memory storage]] or other resources, or draw less power.