記事へのコメント35

    • 注目コメント
    • 新着コメント
    axljpn
    axljpn みんな new Array() ってやってるのか…というのが一番の衝撃。JSではx = []が普通だと思ってた。

    2019/06/14 リンク

    その他
    mysticatea
    mysticatea array.fill(0) したら戻らないかな?

    2019/06/14 リンク

    その他
    efcl
    efcl V8は疎の配列は最適化しないという話。一度でもsparseなarrayになると、fast pathから落ちてしまう

    2019/06/14 リンク

    その他
    ginpei
    ginpei empty slotsを持つHoley Array状態だと要素アクセスがV8で17%遅くなるという計測結果。また一度なるとそうでないPacked状態には戻せない。実際この差を気にする程の実装することはないだろうけど、こういうのたのしい。

    2019/06/12 リンク

    その他
    you21979
    you21979 推測するな計測せよ案件。でも正直こまる。typedarray使うしかないかな

    2019/06/10 リンク

    その他
    iwadon
    iwadon 確認用ページの各ブラウザの結果を見たら、Chrome以外はそこまで差がないかむしろHoleyの方が早い場合があるようで興味深い。

    2019/06/10 リンク

    その他
    uzimith
    uzimith こういう最適化によるコード書くとエンジンが進化していらなくなったあと読むと謎になるから思うがままに書いたほうがよさそう

    2019/06/10 リンク

    その他
    mayumayu_nimolove
    mayumayu_nimolove airbnbの方式でやれって言ってる

    2019/06/10 リンク

    その他
    rirukarinka
    rirukarinka PHPとJSにおいてはやる事ほとんど同じでいいから楽ね。

    2019/06/10 リンク

    その他
    rryu
    rryu むしろ「new Array(100)」はPacked Arrayが保証されそうな気がするのにHoley Arrayになるのはどういう利用想定なのだろう。

    2019/06/10 リンク

    その他
    lorenz_sys
    lorenz_sys js やる人で配列の実装を意識する人ってどのくらいいるんだろう? まぁアプリの仕事やってるとよっぽどの問題がない限り言語実装レベルに思いをはせることは忘れがちになってしまうんだよなぁ。言語に関係なく。

    2019/06/10 リンク

    その他
    kathew
    kathew new Array(100)するくらいなら100回push()せよということらしい。このくらいならちょっと意識してれば良いので問題ないかな/他言語でありふれている書き方がNoとされるのは微妙だけど

    2019/06/10 リンク

    その他
    amedama41
    amedama41 そもそもなんで穴あき配列なんて仕様を入れたのか。メリットよりも、バグの要因になるデメリットの方が大きそう

    2019/06/10 リンク

    その他
    diveintounlimit
    diveintounlimit 17%はまぁ、誤差の範囲内って感じするなぁ(´・ω・`)エンジンの実装に寄せてチューニングするのはあんまりいい感じしない。

    2019/06/10 リンク

    その他
    tick2tack
    tick2tack 最適化は最適化の必要性が出たときにのみ行うべきとしたうえで、こういう話を知るのは楽しい

    2019/06/10 リンク

    その他
    kabochatori
    kabochatori ほぼ使われることのないArrayコンストラクタはやっぱり使う必要がなかった

    2019/06/10 リンク

    その他
    annoy
    annoy モダンな言語で実装とかの細部は抽象化されたプログラミングをしていたはずなのに本末転倒だよなあ。

    2019/06/10 リンク

    その他
    og24715
    og24715 range = r => [...new Array(r).keys()]

    2019/06/10 リンク

    その他
    monorod
    monorod JavaScriptは割と速度求める気がするけど…、でもこういう系の実行速度はブラウザによってまちまちだから最適化しづらくて、結局あまり考えない方が良いのはある。トランスパイラとか使ってればもうわからんしな

    2019/06/10 リンク

    その他
    Helfard
    Helfard 興味深い。この仕様は合理的ではあると思うけど、そのうち定期的に再検証するようにはならないのかな?

    2019/06/10 リンク

    その他
    yulalila
    yulalila 資料的なテーブル作るときによくやってた。気をつけよ。

    2019/06/10 リンク

    その他
    odakaho
    odakaho “new Array(0) で長さゼロの配列を作っても、なぜか穴あき配列(Holey Array)扱いされてしまうようです。もちろん new Array(1, 2, 3) のように初期化すると、詰まった配列(Packed Array)扱いされる”

    2019/06/10 リンク

    その他
    madooka
    madooka 速度差については追試してみたいが、とりあえず面白い / 以前(いつ)はキー n に値を入れただけで n+1 要素確保されていたような

    2019/06/10 リンク

    その他
    fn7
    fn7 バージョンアップで改善されて意味のないコーディングスタイルが残るということになりそうだからやらないけど、面白い内容でした。

    2019/06/10 リンク

    その他
    infobloga
    infobloga 話としては興味深いだけど、17%は誤差範囲だよな。非ネイティブなPromiseやasync-awaitのオーバヘッドとか比べ物にならないほど重いけど、普通にみんな使ってるしね。

    2019/06/10 リンク

    その他
    otherworld
    otherworld 個人的にはここ20年ぐらいでnew Array(100)を必要とする機会がなかったかも。

    2019/06/10 リンク

    その他
    chimerast
    chimerast C++やJavaあたりの、配列リストの要素追加時のメモリ再配置について知っているとやりがちかも。最近はCPU速いし実装も賢くなってるからやらないな。あとよほど高頻度でアクセスしない限り17%の速度劣化は無視していい。

    2019/06/10 リンク

    その他
    yasu-log
    yasu-log イミュータブル思考や関数型など、GC起きまくり富豪プログラミングをしているプログラマには、速度の大事さやこの記事のありがたみがわからないのでは

    2019/06/10 リンク

    その他
    fa11enprince
    fa11enprince うーん。JavaScriptにぶっちゃけ速度なんて求めてない。変なハックやられるほうが困る

    2019/06/09 リンク

    その他
    bottomzlife
    bottomzlife なんか古い言語だと直感的に Array(100) したらメモリ取られるのでやらない気ガス。

    2019/06/09 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    高速化の観点から new Array(100) を使わない方が良い理由

    別件で V8 の JIT コードの逆アセンブルを眺めている時に気づいたのですが、JavaScriptで new Array(100...

    ブックマークしたユーザー

    • techtech05212023/09/09 techtech0521
    • ggkuron2023/01/10 ggkuron
    • sugyan2021/02/23 sugyan
    • a96neko2021/01/06 a96neko
    • sucrose2020/09/30 sucrose
    • kyo_ago2020/07/27 kyo_ago
    • mkusaka2019/12/31 mkusaka
    • berlysia2019/12/11 berlysia
    • mfham2019/06/20 mfham
    • uki00a2019/06/14 uki00a
    • axljpn2019/06/14 axljpn
    • mysticatea2019/06/14 mysticatea
    • efcl2019/06/14 efcl
    • ilyaletre2019/06/13 ilyaletre
    • somathor2019/06/12 somathor
    • shoma2019/06/12 shoma
    • labocho2019/06/12 labocho
    • ginpei2019/06/12 ginpei
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事