サイトアイコン CAD日記

CADの高速化

 次期バージョンへ向けた機能強化として、高速化を検討中です。最も原始的でありながら、最もユーザーへのアピールになる、大きなポイントになるでしょう。

 カギは、大容量データの扱いです。大容量のデータになると、処理速度は加速度的に遅くなります。容量が3倍になれば、処理速度が9倍になったりします。全ての場合に当てはまるわけではありませんが、容量に対して速度は二乗倍というのが、妥当な予測値になるでしょう。

 ハッシュ法という手法があります。ある計算式から求められた値が示す有限個の場所にデータを格納するものです。大量のデータから、あるデータを検索する場合、頭から順に探していけば、とんでもなく時間がかかってしまいます。ハッシュ法を使えば、どのへんにあるのかが計算式によってわかるので、検索時間が短縮できます。データ量が少ないときに、少し遅くなるかもしれませんが、大して気にならない程度に遅くなる分には大丈夫でしょう。

 クイックソートという並べ替え手法があります。例えば、数値がランダムにたくさんあるものを、小さい順などのある規則で並べ替えるときに使います。任意の数値を基準に、数値全体をその数値より小さいグループと大きいグループの2つに分けます。それぞれのグループに対して、グループ内の任意の値で同じように2つに分けます。それをグループ内の数値の数が1個になるまで続けていくと、並べ替えが完了するのです。反復と再帰がキーワードです。並べ替えの手法はいろいろありますが、クイックソートはかなり早いと言われています。ていうか、私はこれしか使ったことがないので、説明できるのはこれだけです。

 開発期間はあまりないので、最終的にどうなるかはわかりません。高速化対策を埋め込んで、いろんなケースで処理速度を計ってみて、データが失われるというような問題が出ないかどうかを調べて。対策をとることより、その後の検査のほうが大変だと予想しています。なんだか、既に疲れてきました。気が重い...

モバイルバージョンを終了