16/02/02 22:42:33.51 .net
n回繰り返したいのにn+1回繰り返してしまうということだろう。
よくやってしまうというより、初心者が最初一度は嵌るという類のものだな。
一旦理解すれば間違えることはない。
44:Name_Not_Found
16/02/02 22:42:57.81 .net
>>41
このnの記述ないんだよね
>>42
省略してないよ
「for(var i = n; i >= 0; i--){ ... } // 最初の回を繰り返す」っていう1行だけしか書いていないんだ・・・
この行の上には
「for(var i = 0; i <= n; i++){ ... } // 1回余計に繰り返す」
「for(var i = 1; i < n; i++){ ... } // 最初の回が抜けている」
って書かれていて特に変なところもないんだよ
45:Name_Not_Found
16/02/02 22:43:47.92 .net
これだな
URLリンク(books.google.co.jp)
46:Name_Not_Found
16/02/02 22:45:57.39 .net
つまり最初(i==n-1)から最後(i==0)まで本来回したいのだから、
最初の回(i==n)が余計と言いたいのだろう。
47:Name_Not_Found
16/02/02 22:53:55.59 .net
買ってはいけない本だというのがよくわかる
いや煽りも冗談も抜きで
48:Name_Not_Found
16/02/02 22:56:54.75 .net
まあ別に初心者が買う本じゃないんだろうし、
全てを参考にする類でもなく、自分の抜けてたところに気付くためのものだろう
>>40こういう質問をする段階じゃまだ早いと言えるかもしれない
49:Name_Not_Found
16/02/02 22:57:24.72 .net
>>46
ありがとう!理解した
レスしてくれた人みんなありがとう
>>47
そうなんかな
自分の理解力の問題やと思うわ
50:Name_Not_Found
16/02/02 23:01:00.13 .net
まあGood Partsよりはいい本だろうと思うよ
出た時期がまず第一に重要だからね
最新の情報であれば少なくとも取り敢えず読んで見る価値はあると思う
51:Name_Not_Found
16/02/02 23:36:59.98 .net
>>25
見落としがあるかと思って探しましたが
一般のPerformance API群にそんな機能ないですね
Chromeのみに入ってるPerformance.memoryのことでしたら
これはプロセス別の正確な使用メモリは取れません
ですのでchromium系の場合chrome:memoryや開発者ツールのが有用になります
52:Name_Not_Found
16/02/02 23:45:24.26 .net
>>51
ちな目的は?
53:Name_Not_Found
16/02/02 23:55:45.30 .net
>>51
それは間違い。
performance.memoryはプロセス別のメモリを返す。
問題は1プロセス=1ページとは限らないということ。
とは言えopenerが存在する場合のように、ページ同士に相互通信ができる特殊な場合にしかまとめられないので、
基本的に1ページの値を返すと思って良い。
54:Name_Not_Found
16/02/03 00:06:32.49 .net
>>52
改めて問われると難しいですが
(DOMツリー含む)メモリ使用量平均の低減とstoptheworldの防止ですね
55:Name_Not_Found
16/02/03 00:08:48.41 .net
>>51
開発ツールでの測定とperformance.memoryの示す値は同じだよ
開発ツールでもプロセス内の他タブの影響も受ける
ただしそれは良いことで、タブを閉じた後、別タブからの参照のため
メモリリークが起こっているのを発見できる
56:Name_Not_Found
16/02/03 00:11:41.43 .net
>>53
そういう事ではありません
performance.memoryは親shmemとgpuレンダプロセスを含み
正確では無いと言ってます
57:Name_Not_Found
16/02/03 00:14:43.09 .net
>>55
言葉足らずでした
開発者ツールは詳細が表示されるので正確に見れます
>ただしそれは良いことで、タブを閉じた後、別タブからの参照のため
>メモリリークが起こっているのを発見できる
これは良くわかりません、どういう事ですか?
閉じたらプロファイル消えると思いますが
Chromeではなく他のブラウザの話ですか?
58:Name_Not_Found
16/02/03 00:17:02.83 .net
すみませんまた言葉足らずでした
chromeではなく(chroimum系の)他のブラウザの話ですか?
59:Name_Not_Found
16/02/03 00:19:51.05 .net
>>57
プロファイルを開いているタブ以外を閉じたときの話だよ
それと詳細とは言ってもJSヒープについてタブの区別はない
あと前提条件として開発ツールは使えないという話だったのに、
そっちの方が良いってどういうこと?
60:Name_Not_Found
16/02/03 00:28:26.84 .net
>>59
理解できました
タブを閉じてもメモリが減らない事を見るという意味ですね
>あと前提条件として開発ツールは使えないという話だったのに、
>そっちの方が良いってどういうこと?
使えないのは自分の環境の問題で、後者は飽くまで正確性の話です
それぞれ別の論点です
61:Name_Not_Found
16/02/03 00:36:27.68 .net
これ以上関係ない議論するのは迷惑になりそうなので、そろそろ去ります
レスをくれた方、ありがとうございました
XeonのPCでも買います
62:Name_Not_Found
16/02/03 00:51:05.19 .net
去る前に間違った知識を改めなさい。
正確性とか言い出したら、そもそもJSHeapと実メモリのアロケーションは関係ないし、
一部の大きなバッファはJSHeapと独立して管理されて反映されないものもある。
63:Name_Not_Found
16/02/03 01:00:59.98 .net
終わりかけてる話題に横槍いれる形で申し訳ないんだけど
現実問題として、変数にnullを代入することの負荷、とくに使用CPUと消費メモリの遷移はどうやって調べるのが正しいの
そもそもnull代入がメモリを食うのかについても気になる