トップページ > プログラム > 2014年10月16日 > ML6o1wZC

書き込み順位&時間帯一覧

15 位/153 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001200000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【GNU】Emacs Lisp 【Elisp】

書き込みレス一覧

【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)))

ざっと見る限りひたすらプログラミング初心者なのでとりあえずパフォーマン
スなんか気にしないで「リスト」を使って富豪的にどんどん書いてく方がいい
よ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。