のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,843人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.110 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    453 : Name_Not - 2013/10/09(水) 23:28:33.35 ID:??? (-27,-30,-76)
    a = new Array(5);
    for (var i = 0; i < a.length; i++)a[i]=null;

    a = [];
    for (var i = 0; i < a.length; i++)a[i]=null;

    どっちが早くてメモリ小さいですか?
    454 : Name_Not - 2013/10/09(水) 23:29:37.55 ID:??? (-8,+3,-1)
    458 : Name_Not - 2013/10/10(木) 00:11:30.88 ID:??? (-23,-21,-4)
    1行に1京文字くらい入ってなければ可能です
    459 : Name_Not - 2013/10/10(木) 01:20:39.51 ID:??? (+28,+29,-10)
    でも一つの文字列に格納したらものすごく重くなって死にますよね
    配列に一行ずつ入れるんですか?
    460 : Name_Not - 2013/10/10(木) 01:28:26.51 ID:??? (+32,+29,-89)
    http://www.hp-stylelink.com/news/2013/10/20131008.php
    ここに

    >ユーザーの入力に悪意のあるスクリプトが混入していた場合、
    >実行されてしまうおそれがあるので、
    >ユーザーの文字列の入力に対して、
    >evalを使用するのは避けてください

    という文句がありましたが
    ユーザーサイドで実行されるスクリプトが
    ユーザーからの操作を気にしても仕方ないのではないでしょうか?

    気にする必要があるのは
    ユーザー以外が入力できる可能性のある文字列のパースではないですか?

    また、deleteを使ってはならない理由もわかりません
    461 : Name_Not - 2013/10/10(木) 01:31:17.83 ID:??? (-3,-5,-5)
    >>459
    数MBくらいの文字列でしにやせん
    気になるのならBlobのまま扱う
    462 : Name_Not - 2013/10/10(木) 01:37:08.38 ID:??? (+25,+29,-39)
    でも10万文字目を削除するとかいう処理が
    一つの文字列だと激重になるのでは
    JavaScriptに限らずですが
    463 : Name_Not - 2013/10/10(木) 01:48:51.90 ID:??? (+27,+29,-19)
    行単位で配列にしてもいいし
    Blobから見えてる範囲だけライブロードしてもいい
    あと思うじゃなくて実際に試してみな
    両者こう思うの言い合いだけじゃ何も進展しないだろう
    465 : Name_Not - 2013/10/10(木) 04:15:09.15 ID:??? (+31,+28,-84)
    テキストフォームにfocusinした時に、全選択状態にするようにしました
    デバッガで追っていると確かに全選択されるのですが、
    デバッガで止めずに動かすと選択が解除されるのです
    そこでsetTimeoutでfocusinから10ms後に選択するようにするようにしたら、
    ちゃんと選択されるようになりました
    ですが、何が選択をキャンセルしているのか分からないのが気持ち悪いです
    どんな可能性がありますか?
    466 : Name_Not - 2013/10/10(木) 04:22:57.90 ID:??? (+13,+15,-21)
    http://jsbin.com/UYEcicO/1/edit

    再現コードが書けました
    タイムアウト使用の方はフォーカスすると選択状態になり
    未使用の方はならないと思います
    468 : Name_Not - 2013/10/10(木) 04:25:50.60 ID:??? (+26,+28,-42)
    >何が
    ユーザーの操作が

    Chromeで試したが両方全選択にはならない
    こういう挙動に頼るのはやっちゃいけない
    469 : Name_Not - 2013/10/10(木) 04:39:50.93 ID:??? (+27,+29,-17)
    ありがとうございます
    ユーザーの操作とはどういうことでしょうか?
    ただフォーカスしただけなのにキャンセルされる意味が分かりません
    470 : Name_Not - 2013/10/10(木) 04:47:41.87 ID:??? (+1,+3,-14)
    フォーカスってクリックだろ?
    タブフォーカスなら両方安定にフォーカスされるよ
    473 : Name_Not - 2013/10/10(木) 05:35:41.86 ID:??? (-16,-14,-14)
    タイムアウト版はすべてのイベントが終わった後にselectでは
    474 : Name_Not - 2013/10/10(木) 06:11:19.82 ID:??? (+27,+29,-27)
    そうなった場合は全体がセレクトされるが
    タイミングの問題でそうならないことが多いから中途半端にセレクトされてる
    475 : Name_Not - 2013/10/10(木) 09:11:49.65 ID:??? (-23,-29,-41)
    >>462
    10万文字目って考えるから
    重くなるって思うんじゃね?

    100,000バイト目(UNICODEだとして300,000バイト目)

    つまり100KB(300KB)
    たったこれっぽっちのメモリコピーに
    かかる時間はごくわずかでしょ?
    478 : Name_Not - 2013/10/10(木) 11:00:19.83 ID:??? (+27,+29,-23)
    サイズなんて入れるもののタイプで変わってくるから
    サイズ通りメモリを確保するわけじゃない
    481 : Name_Not - 2013/10/10(木) 14:33:31.86 ID:??? (+27,+29,-15)
    一度に巨大な領域を確保すると初期化コストがかかりすぎるってだけで
    トータルではサイズ指定した方が速いのでは
    482 : Name_Not - 2013/10/10(木) 16:00:24.30 ID:??? (+25,+27,-3)
    これを見ればV8で何が行われてるのかよく分かんだね?
    http://jsperf.com/pre-allocated-arrays/22
    483 : Name_Not - 2013/10/10(木) 16:05:12.59 ID:??? (+27,+29,-5)
    なぜ要素数指定の方がここまで遅くなる?
    484 : Name_Not - 2013/10/10(木) 16:08:16.28 ID:??? (+27,+29,-86)
    Chrome 32では指定した方が速くなってるな
    結局「どちらが筋がいいか」が最適化の基準になるということだろう
    筋の悪い最適化は所詮一時的なもので長期的には高い確率で逆転する
    485 : Name_Not - 2013/10/10(木) 16:09:45.88 ID:??? (+21,+28,-3)
    ほんとIEは素直だな
    487 : Name_Not - 2013/10/10(木) 16:13:31.90 ID:??? (+27,+29,-12)
    要素数を指定した方が遅くなる、っていうのは筋が悪いから
    いずれ逆転する可能性は高いと思う
    488 : Name_Not - 2013/10/10(木) 16:26:08.56 ID:??? (-21,-30,-57)
    V8のFirstArray分岐点はkInitialMaxFastElementArrayで決まってる
    http://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/objects.h#2609
    だいたい100K要素までだけど変わることもある

    この前は64bit環境のバグが云々で
    http://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/objects.h?r=16324
    95Kまで下がった
    もしかすると今のChromeStableバージョンがこれかもしれない
    489 : Name_Not - 2013/10/10(木) 16:30:20.92 ID:??? (+26,+28,-55)
    要素数に応じて使われ方が違うだろうから
    統計を参考にするV8は
    GCとかも考えてそれぞれにあった最適化してるんじゃないの?
    490 : Name_Not - 2013/10/10(木) 16:45:41.91 ID:??? (+27,+29,-24)
    http://stackoverflow.com/questions/6711462/chrome-thinks-99-999-is-drastically-different-than-100-000
    10万未満なら実際にメモリの割当をするが、10万以上ならしない
    はっきり分かんだね?
    491 : Name_Not - 2013/10/10(木) 16:49:49.37 ID:??? (+25,+29,-3)
    >>488
    他にも要素数が細かく決められていて面白い
    492 : Name_Not - 2013/10/10(木) 16:55:57.58 ID:??? (+33,+29,-6)
    あったあったこれだ
    これは紛れもない真実だから参考にした方がいい
    http://1000ch.net/2013/01/04/JavaScriptPerformanceTechniqueByGoogle/
    496 : Name_Not - 2013/10/10(木) 17:05:34.88 ID:??? (+31,+29,-33)
    >>492
    横レスで申し訳ないですが

    > 2.オブジェクトメンバを常に同じ順序で初期化する

    違う順序で初期化される場合ってどんなときですか?
    497 : Name_Not - 2013/10/10(木) 17:18:06.23 ID:??? (-27,-30,-47)
    function Klass(){
    if(Math.random<0.5){
    this.x=1
    this.y=2
    }else{
    this.y=1
    this.x=2
    }
    }
    498 : Name_Not - 2013/10/10(木) 17:20:50.27 ID:??? (+38,+29,-66)
    「要素数指定しない場合と同じになる」なら分かるけど
    遅くなるってのはアルゴリズムが悪いだろ
    単に要素数が閾値を超えていたら指定しない場合と同じ処理すりゃいいんだから。
    lengthだけは変わるけどここまで遅くなるのは道理が通らない
    舐めてんのか
    499 : Name_Not - 2013/10/10(木) 17:23:19.02 ID:??? (+18,+29,-1)
    >>497
    おおお…
    500 : Name_Not - 2013/10/10(木) 17:29:22.32 ID:??? (+33,+29,-35)
    >>498
    V8にアルゴリズムが悪いとか何様だよw
    メモリを最初から確保しないだけで要素は空っぽの状態で実際に10万あるんだから
    空のリストの宣言とはまるっきり違う
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について