最適化はコンパイラで自動的に行うこともできるし、プログラマが自ら行うこともできる。局所的な最適化の効果は限定的であり、大域的な最適化の方が効果が大きい。一般に、より優れたアルゴリズムやデータ構造を見出すことが最も強力な最適化となる。システム全体の最適化は自動化するには複雑すぎるため、人間の手で行うことが多い。その場合、プログラマやシステム管理者が自らコードを修正し、性能を改善する。効率が改善されるとしても、自動最適化に比べれば遥かにコストを要する作業である。第一にリソースを最も多く消費している箇所（ボトルネック）を見つけるため、プロファイラを利用することが何よりも重要である。プログラマはボトルネックがどこか正確に把握していると思っているものだが、そのような予測は間違っていることが多々ある。重要でないコードの最適化は全体性能に与える効果が少ない。ボトルネックを特定したら、まずそのプログラムで使われているアルゴリズムを再考するところから最適化が始まる。通常、汎用的アルゴリズムよりも特定の問題に特化したアルゴリズムの方が調整しやすい。例えば、大きなリストをソートする処理では、効率のよい汎用アルゴリズムの1つであるクイックソートを使うのが一般的である。しかし、ソート対象の性質が判っていれば（例えば事前に何らかの順番で並んでいるなど）、その他のアルゴリズムや特製のソートルーチンの方が有効な場合もある。最善のアルゴリズムが選択されていると判明した場合、コードの最適化が開始される。ループ展開をしたり、なるべく小さいデータ型を使うようにしたり（浮動小数点でなくてもよい計算を整数の計算に直すなど）する。性能ボトルネックがアルゴリズムの問題やデータ構造の問題ではなく、言語の制限による場合もある。このため、プログラムの重要な部分を異なるプログラミング言語で書き換え、よりマシンに近いアクセスを行う場合がある。例えば、Pythonなどの高級言語でC言語のモジュールを使用して高速化したりする。C言語で書かれたプログラムなら、一部をアセンブリ言語で置換する。D言語などはインラインアセンブラ機能が利用できる。パレートの法則によれば、書き換えはプログラムのごく一部だけで済む。従って、最適化にかかるコストと全体の性能向上が十分見合う結果となる。手動の最適化は可読性を損なうことが多い。最適化にあたっては、その文書化と将来の開発への影響の評価が重要である。自動最適化を行うプログラムをオプティマイザ (optimizer) と呼ぶ。オプティマイザはコンパイラに内蔵されていることが多く、コンパイル中に最適化が行われる。オプティマイザは生成されたコードを特定のプロセッサ向けに最適化することが多い。従って自動最適化はコンパイラ最適化とほぼ同義である。一部の高級言語（EiffelやEsterel）は中間言語を使ってプログラムを最適化する。グリッド・コンピューティングや分散コンピューティングでは、稼働率の高いコンピュータから別の稼働率の低いコンピュータにタスクを移すことでシステム全体の最適化を行う。
マクロを使ったコード開発での最適化は言語によって異なる。C言語などの高級言語では、マクロは文字列の置換であり、マクロの効果は関数呼び出しのオーバーヘッドを削減する程度でしかない。しかし、多くの関数型言語でのマクロはコンパイル時の評価と文字列レベルでないコンパイルコードの置換として実装されている。このため、コンパイル時に複雑な計算が可能で、プログラムの処理の一部をコンパイル時に済ませてしまうこともできる。このようなマクロはLISPを起源とするものである。しかし、他の最適化と同様、このようなツールをどこに利用するのが効果的かをプロジェクトが完了する前に予測することは困難である。
インタプリタな処理系（特にPHPのように繰り返し実行され、性能も要求される場合）では、プログラマはコードからコメントや空白を削除し、使われないメソッドや関数の定義を削除してから、コードを配備することがある。これはネットワーク上の転送時間やインタプリタがコードを読み込む時間を少しでも改善しようという一種の最適化である。このとき、元のコード（コメント付きの整ったコード）を捨ててしまうと、保守性が犠牲となる。そのようなコードは可読性が低く、デバッグや修正や改造が困難となる。従って、元のコードを手元に残しておくことが推奨され、修正を加える必要がある場合は、その元のコードを使うのがよい。また、コメントや空白を削除することが実行時間の短縮に寄与するかどうかは事前に確かめておく必要がある。場合によっては「労多くして、益少なし」となることもある。一般にソースコードをネットワーク上で転送する JavaScript などのコードの方が、ローカルに実行されるPHPなどよりも効果が大きい。
中国前漢時代のミイラから結核にかかった痕跡が確認されている。日本では青谷上寺地遺跡（鳥取市）で出土した弥生時代中期の人の背骨に結核の痕があり、朝鮮半島の島に埋葬されたほぼ同時期の人骨にも結核の痕がある。日本古病理学研究会会長の鈴木隆雄（桜美林大学教授）は、結核は中国から朝鮮半島に広がり、渡来人を通じて日本列島に上陸したと推測している。2019年2月4日、鳥取大学の岡崎健治らの研究チームが、中国・上海の広富林遺跡で出土した女性人骨から約5千年前の結核発症の痕跡を発見したことを明らかにした。東アジアでは最古の結核症例という。人骨は埋葬された20～30代の女性のもので、2010年に出土した184体の人骨を分析する過程で発見した。特徴的なのは、背骨の胸椎と腰椎の一部に、結核が原因で骨が溶解・癒合する病気「脊椎カリエス」の症状が認められた。結核は縄文時代の日本列島では未確認で、研究者は弥生時代に渡来したと考えられており、今回の発見は、結核はこの地域から稲作文化とセットで日本にもたらされた可能性を示唆するという。研究内容は、米国の学術誌「INternational Journal of Paleopathology」に発表された。かつて日本では結核は国民病・亡国病とまで言われるほど猛威をふるった。第二次世界大戦後になって、結核予防法（昭和26年3月31日法律第96号）が制定され、抗生物質（ストレプトマイシン）を用いた化学療法の普及などによって著しく減少した。日本で最初に結核に関する統計調査が行われたのは1899年（明治32年）である。同年の日本の人口1万人あたりの死亡者数は15.29人であったが、大正時代にかけて徐々に増加し、おおむね20から23人の間を上下した。1934年（昭和9年）に結核で死亡した者は13万1525人であり、患者数は131万5250人となっている。これは全人口の2%、当時の10世帯あたり1人の割合で患者がいる計算であった。日本の原因疾患別死亡者数の割合と順位では、結核は1900年は2位、1910年は2位、1920年は3位、1930年は3位、1940年は1位、1947年から1950年は1位、1951年から1952年まで2位、1953年は4位、1954年は3位、1955年から1956年まで4位、1960年は7位、1965年は7位、1970年は8位、1975年は10位、1980年以後は10位未満である。