- 【GNU】Emacs Lisp 【Elisp】
141 :デフォルトの名無しさん[sage]:2014/10/16(木) 09:04:05.88 ID:ML6o1wZC - > やっぱりコンスセル単位で操作していくのが一番速いのですか?
ベクトルは参照は早いけど追加操作は遅い。リストはその逆と思っておけばいい。 ケースバイケースだからソース公開するといいよ。
|
- 【GNU】Emacs Lisp 【Elisp】
146 :デフォルトの名無しさん[sage]:2014/10/16(木) 10:26:10.93 ID:ML6o1wZC - いや、github とかにだね。。
|
- 【GNU】Emacs Lisp 【Elisp】
147 :デフォルトの名無しさん[sage]:2014/10/16(木) 10:42:49.66 ID:ML6o1wZC - vconcat して新しいベクトルをいっぱい生成してるけど、それぐらいならリス
トをそのまま使った方がましだろうね。走査する速度が速くなるよりもベクト ルを生成するコストの方が高い気はする。 それから mapcar は C の関数だからベクトルでもリストでも気にするほどのパ フォーマンスの違いはない。elisp でパフォーマンスを気にしてプログラミン グするときは C で書いてあるか否かも意識するとよいね。 (let ((vec (make-vector 1000 nil))) (benchmark 100 `(mapcar 'identity vec))) (let ((lis (make-list 1000 nil))) (benchmark 100 `(mapcar 'identity lis))) ざっと見る限りひたすらプログラミング初心者なのでとりあえずパフォーマン スなんか気にしないで「リスト」を使って富豪的にどんどん書いてく方がいい よ。
|