オプティマイザ 【optimizer】

概要

オプティマイザ(optimizer)とは、対象の設定や構造などを調整し、より好ましい状態に組み替える「最適化」(optimization)を行うためのソフトウェアや機能のこと。分野によって対象や具体的な仕組みなどは異なる。

特定のアルゴリズムに基づく自動処理によって、対象の振る舞いや外部から見た実質的な内容は変更せずに、内部の状態を何らかの好ましい状態に変更する機能を指す。

例えば、画像や動画、音声の内容や品質は変えずにデータ量を削減する(圧縮率を高める)ソフトウェアや、プログラムコードの処理内容を変えずに高速化する機能などが該当する。

言語処理系のオプティマイザ

プログラミング言語など人工言語の処理系では、コードの実質的な内容は変えずに処理の効率化などを図る機能やソフトウェアをオプティマイザという。

コンパイラインタプリタなどの処理系は人間が読み書きできるソースコードをコンピュータの理解できる形式(機械語のコードなど)に変換するが、オプティマイザが内蔵されている場合には、処理内容を変えずにより高速に動作したりより少ない記憶容量で動作するよう工夫されたコードを生成することができる。

プログラムの過剰な最適化は、プログラマの意図しない動作を引き起こしてバグの原因となることもあるため、どういった最適化処理を行うか開発者が明示的に指定できるようになっていることが多い。

データベースのオプティマイザ

データベース管理システム(DBMS)の持つ機能の一つで、外部から投入された問い合わせ(クエリ)群を最も効率よく処理できるような実行計画を立てる機能を「クエリオプティマイザ」あるいは単にオプティマイザという。

DBMSが内部に持つ機能で、性能を決定付ける最も重要な機能の一つだが、利用者が明示的に操作や指示、設定などを行うことは(でき)ないため存在が意識されることは少ない。

(2019.12.11更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。