Fork me on GitHub
#clojure-japan
<
2015-07-22
>
mopemope08:07:51

こんにちわ

athos08:07:23

こんにちはー

mopemope08:07:11

ここにあったのね

mopemope09:07:27

1.8でtupleくるのかー

athos09:07:37

今のベクタって、最小でも32要素のオブジェクト配列を作ってしまうので、ナイーブに考えれば今のタプルの実装でも十分パフォーマンス的によくなりそうなものなのに、そんなにスムーズには行ってなさそうなのが難しいところですね。

mopemope09:07:24

あまり変わらないかなあ

tnoda12:07:50

ベクタと比べるとタプルは 1) 省メモリ化 2) 若干の nth の高速化,がご利益でしょうか。criterium でとったマイクロンチマークは GC の影響を排除するのでご利益が見えにくいですね。pop など vec() を経由する関数は微妙に遅くなるかもしれませんね。

athos22:07:25

このRichのコメントを読むと、タプル用のクラスを1〜6要素分作る今の実装だと、JVMのインラインキャッシュが効かなくなってうまくJITコンパイルできないことによるパフォーマンス劣化ってことっぽいですかね