ブロックサイズは小さいほどよいが、あまり小さいと管理コストが増大する。ブロックの挿入削除が局所的かつ頻繁であれば、パフォーマンスの向上が期待できる。比べてパフォーマンスが向上すると期待できる。主記憶が足りなくなり外部記憶装置にスワップアウトする場合のスワップ領域管理処理の簡略化を図るため。主記憶の使用メモリ量を節約するために、ブロックサイズは固定ではなく上限値を持つようににするのも一案である。スワップ領域管理は固定ブロックサイズの処理で充分となる。ブロックの挿入削除が局所的かつ頻繁であれば、パフォーマンスの向上が期待できる。実装ポリシーを用いたクラスを定義し、具体的なコンテナクラスはテンプレートパラメータで与える。コンテナに格納するようにした。.....};パフォーマンス計測ブロック要素数を32*1024としてパフォーマンスを計測した。高速なのは、データタイプが基本型の場合の最適化が利いているため。ブロックを管理するコンテナの性能よりも文字を管理するコンテナの性能が支配的。パフォーマンスの差がでない。場合はブロックサイズが小さくなればデータ移動量が減り高速になる。同じ処理時間になった。本稿の削除処理時間計測ではブロック個数が増減しないため、ブロック数が増加する挿入処理で時間計測を行ってみた。ブロック増加に伴うまとめ文字コンテナを別のコンテナで管理することで新たなデータ構造を構築できる。巨大サイズファイルにも対応可能である。速度低下を防ぐにはデータの移動を行わないようにするとよい。スパンをコンテナで管理することでシーケンスデータを表現する。ピースの具体的な実装方法としては、以下のようなものが考えられる。(ピース先頭アドレス、ピースに含まれる文字数)(ピース先頭アドレス、ピース最後の次のアドレス)、(ピースを含むバッファ情報、バッファ内のピース先頭オフセット、ピースに含まれる文字数)編集処理:ピース途中の文字を削除する場合は、ピースを分割する。ピースが保持するスパン先頭情報を修正するだけでよい(文字数情報を保持している場合はデクリメントも必要)。ピース途中に文字を挿入する場合は、ピースを分割し、間に新規ピースを挿入する。挿入された文字はバッファに追加され、新規ピースはそれを指す。O(logP)配列に比べて挿入・削除は高速だが、同じ文字数の置換はむしろ処理時間がかかる小さいピースが大量にある場合、メモリ効率が悪化する。用に再利用できるバッファはひとつの連続した領域である必要はない。コピー範囲のピース情報を保持しておき、ペースト時にバッファを参照することでコピペすることが可能。した情報をバッファから削除するようにした場合はその限りではない。内部バッファ文字コード=インタフェース文字コードとして実装した。ピースは2つのポインタで構成するようにした(8byte)。ピースを管理するコンテナはポリシーで指定可能にした。測定項目は以下の4項目とする。メモリ量シーケンシャルアクセス処理速度は上図のような測定結果となった。場合は、ピースに含まれる文字数が減り、ピース個数が増えるので、イテレータの処理が重くなる。142万ピースとなる。1142万バイトもの容量を消費することになる。