配列アラインメントのためのダイナミックプログラミング

配列アラインメントのためのダイナミックプログラミングでは、配列の文字へのアクセスが大量に発生する。Common Lisp には汎用的な関数と特定用途専用の替わりに高速な関数が用意されている。Common Lisp の string クラスに対して文字列専用関数(schar, char=, etc)を使うとプログラムが相当速くなった。

以下のように考えていたが、間違い。

  • C++ の基本クラス(String クラスなど)はなかなか充実しているが、CLOS には相当するものがない。正確には存在するがより低レベルなものしか無い感じ。

疑問。CLOS を使わず(メソッド呼び出しを使わず)基本クラスだけを使ったほうが速いのか・・?あるいは、メソッドディスパッチはあんまり速くない、のか?
要検証。

Common Lisp のような「大きな言語」での開発というのはなかなか不思議な感覚だ。ちゃんと汎用的な関数と高速な関数があってその通りに使うとちゃんと速くなる。伊達に仕様がデカいわけじゃないようだ。普通の言語+クックブック+Tips = 大きな言語、だろうか。