3つとか5つとかそれくらいのデータをまとめて扱いたい時は割とすぐ defstruct してて、他にも list とか vector とか hash-table とか色々やり方はあるんで、それぞれ速度的にどーなのよ?と。xyzzy だとそこまで速度を気にすることはあんまりない(compile しないで使ってたりするくらいだし、ヘビーな計算とかするなら SBCL とか使うだろうし)のだけど、気になったので調べてみた。 速い方からざっくり。データ型で言うと (simple-)vector, list plist, alist, hash-table structure アクセスする関数で言うと 速い組み込み関数*1 second, cadr, svref, elt first とか car とかでもほぼ変わらない 遅い組み込み関数 si:*slot-value, si:*index-slot-v

