![](https://s.togetter.com/static/web/img/placeholder.gif)
まあ後の方に言ってた仮想関数の話は JIT 置いといて実際どーなのよ、という疑問です。いやほんとに何も影響ないんだったらもっと virtual が付いてていいと思うんだほんと (逆切れ
2013-07-03 00:50:57![](https://s.togetter.com/static/web/img/placeholder.gif)
実際問題としては、結局介入する人間がどれだけ労力をつぎ込めるかでどうするのが良いかは決まるので、つぎ込める能力と時間を先に決めるしか無い。
2013-07-03 00:52:51![](https://s.togetter.com/static/web/img/placeholder.gif)
@dmikurube 「最初の一回目の呼び出し」の速度が全然違うので、ループの中なら気にするだけ無駄だけど、ループの外なら気になる、が多分答え。
2013-07-03 00:54:26![](https://s.togetter.com/static/web/img/placeholder.gif)
@mkasahara 引き続きWKの例で言えば、ツリーをひたすらごにょごにょする操作が主なのでそれはうまく落ちないでしょうね
2013-07-03 00:58:12![](https://s.togetter.com/static/web/img/placeholder.gif)
ところでどうでも良いですが, C++11 から final が入ったので devirtualization が確実に効く場面が(対 C++03 比で)増えたはずですが,これ活かしたプログラミングテクニックってあるんじゃろか?
2013-07-03 01:01:04![](https://s.togetter.com/static/web/img/placeholder.gif)
@Cryolite C++は言語内でそれができるのがいいところですね!!
2013-07-03 01:02:37![](https://s.togetter.com/static/web/img/placeholder.gif)
んで例えばツリーをひたすらごにょごにょするスループット重視のアプリケーションを仮定したら (そんなんあるのか?) それに対してパフォーマンスは実際どうなるんだろうとか。まあ値は見てみたいけど現実的なベンチマークかというとよくわからんな...
2013-07-03 01:04:27![](https://s.togetter.com/static/web/img/placeholder.gif)
パフォーマンス周りの話は関連パラメータが多すぎて、自分が見てる範囲の local minimum に落ちたり己の信念を貫いたり (≒押し付けたり) する方向に行きやすいのだよなー。客観的なデータ出そうにも定義域が広すぎて違う定義域同士で議論がぶつかったりするし
2013-07-03 01:12:36![](https://s.togetter.com/static/web/img/placeholder.gif)
論文を出すとか記録を出すという意味ではどっかの方向に貫けば成果になるし、自分のターゲットに集中すれば実際に役に立つけど、違うターゲット間ではすごく議論がしにくい
2013-07-03 01:14:20![](https://s.togetter.com/static/web/img/placeholder.gif)
@phoenixstarhiro 個人的には、十分なパフォーマンスが出ることがほとんど、GCの方が速いことも、という主張に強く反論しようとは思わないけど、パフォーマンスが十分でないとわかった時の大変さが普段から自力メモリ管理する大変さに比べて大きすぎる、ってのが
2013-07-03 01:15:28![](https://s.togetter.com/static/web/img/placeholder.gif)
@dmikurube そう思います。そもそもWKはメモリ管理からしてスタックアロケータを駆使して typical な使用量だとヒープ触らないようにしたりといろいろコードが変態的なので、普通のアプリだと見えにくいオーバーヘッドが見えやすいと思っています(多分偏見)。
2013-07-03 01:23:15![](https://s.togetter.com/static/web/img/placeholder.gif)
言語が違うとまたそこで定義域や傾向が変わってきたりするので始末に困る (e.g. Java で書かれるプログラムでは C++ の場合より短い関数を大量に作ることが多い、とか) その傾向を前提にしてる人とその傾向を知らない人で議論してもかみあうわけがないし。かくして宗教論争へ
2013-07-03 01:24:52![](https://s.togetter.com/static/web/img/placeholder.gif)
というわけで、実際に役に立つ「速い」環境を作りたければ real-world でどう使われるのかを見ないとしょうがないし、そのために導入されてる前提をいろいろ理解しないとその知見をそのまま他に持っていくのは難しいっすよ、という個人的な結論でした
2013-07-03 01:33:43![](https://s.togetter.com/static/web/img/placeholder.gif)
@shinh 普段気を使わない分、気づいたときには手遅れ感がありますよね。。。 結局 gc の挙動調べたりしないといけない分余計な手間が。。。 あでも、python とかだと比較的気楽に「とりあえず gc 止めとく」とかやったりします。
2013-07-03 01:35:16![](https://s.togetter.com/static/web/img/placeholder.gif)
某 JVM と WebKit と V8 の 3つでも既に前提がいろんな違っていて、それぞれ表面だけ舐めてきてなんとなく面白かった。解説せえといわれるとちょっと困るくらいの表面具合だけど
2013-07-03 01:41:28![](https://s.togetter.com/static/web/img/placeholder.gif)
さっきから WebKit 連呼したがもしかして Blink と言わないといけないのだろうか。でも俺 Blink になってから自分で触ってない...
2013-07-03 01:43:23![](https://s.togetter.com/static/web/img/placeholder.gif)
そういえば、C/C++とかでobject pool実装するの、あまり抵抗ないんだけど、Java でやると大変負けた感じがする。
2013-07-03 01:46:18![](https://s.togetter.com/static/web/img/placeholder.gif)
@phoenixstarhiro それは間違いない! (C/C++でも途中でそのレイヤー置き換えるのは死ねる...今やってる人いるけど)
2013-07-03 01:55:53