共有
  • 記事へのコメント15

    • 注目コメント
    • 新着コメント
    その他
    l-_-ll
    l-_-ll "「あるタイプの条件分岐は、ほとんどの場合で片側しか実行されないため、実際には分岐を大幅にカットすることができる」という一見直感に反する話ですが、"

    2023/01/21 リンク

    その他
    YaSuYuKi
    YaSuYuKi ポリモーフィズムを駆使すると遅くなりそうだが、実際、かなり大きなコードでもやってる場所は多くなかった

    2022/08/16 リンク

    その他
    send
    send 面白い。黒魔術っぽいコードだとヤバそう

    2022/08/16 リンク

    その他
    dekaino
    dekaino ふつーの書き方してる分には小さく速くなるけど、文法では許されてるちょっと気の利いた一般的でない書き方のコードが爆発的に大きく遅くなる可能性がありそう。個人的にはHDLのRTL合成に似てる感じがする。

    2022/08/16 リンク

    その他
    tick2tack
    tick2tack “i < n や s += i のような処理を入れるだけでも、 内部的にはi や n , s の型をチェックしたり、演算結果がオーバーフローしないかなどの条件分岐が何度も行われることになります” そういうもんなのね。そりゃ遅いわな

    2022/08/16 リンク

    その他
    tuto0621
    tuto0621 LBBV による高速化は、「組み合わせ上は存在するコードバージョンの多くが実行時にほとんど現れない」という現実のコードへの鋭い観察に基づいたシンプルなアプローチであり、あらゆる動的言語のパフォーマンスを向上

    2022/08/16 リンク

    その他
    k0kubun
    k0kubun メソッドJITだとせいぜいメソッドの引数くらいしか型を直接検査できないのが、やりたければ命令単位でlazyにコンパイルできているおかげで、全命令のオペランドの型をコンパイル時に検査し放題というのが強みだと思う

    2022/08/16 リンク

    その他
    indication
    indication 今後は型を跨いだ代入は気を付けないと

    2022/08/16 リンク

    その他
    YassLab
    YassLab “「組み合わせ上は存在するコードバージョンの多くが実行時に殆ど現れない」という現実のコードへの鋭い観察に基づいたシンプルなアプローチ / 動的言語の書き味は変えないまま、型固有の最適化されたコードを生成”

    2022/08/16 リンク

    その他
    rryu
    rryu 動的型では型チェックなどの内部的な分岐があるが、実行時に集めた型情報を使って必要な分だけJITしていくとほとんど分岐しないコードになるので速くなるということらしい。

    2022/08/16 リンク

    その他
    razokulover
    razokulover "LBBV による高速化は、「組み合わせ上は存在するコードバージョンの多くが実行時にほとんど現れない」という現実のコードへの鋭い観察に基づいたシンプルなアプローチ" 面白い

    2022/08/16 リンク

    その他
    Nyoho
    Nyoho 「型検査の分岐は90%以上で片方の分岐しかたどらず、ブロックのコンパイルをその分岐に入るまで遅延した場合に2つ以上のバージョンのコードがコンパイルされたのは 6%に過ぎなかった」おもしろい

    2022/08/15 リンク

    その他
    gabill
    gabill むしろ6%も変わるんだ。型チェッカーが普及すればもっと減りそう。

    2022/08/15 リンク

    その他
    ledsun
    ledsun 実行時に変数の型がめったに変わらないと仮定すると効率的にJITできるらしい。(なにもわかっていない)

    2022/08/15 リンク

    その他
    yosf
    yosf わかりやすい記事です。

    2022/08/15 リンク

    その他

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

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

    関連記事

    Ruby が YJIT でなんで速くなるのか? Lazy Basic Block Versioning をサクッと理解してみた - estie inside blog

    estie でソフトウェアエンジニアをしている徳永(@yTo_9)です。 estie では Ruby を書いたりTypeScriptを...

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

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

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

    いま人気の記事

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

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

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

    新着記事 - テクノロジー

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

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