タグ JIT
人気順 10 users 50 users 100 users 500 users 1000 usersARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)
前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょう... 続きを読む
JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう
Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅... 続きを読む
Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp
Ruby 3.3リリース! 新機能解説 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす 2024年12月25日、Ruby 3.3.0がリリースされ、様々な新機能が加えられました。本連載では実際に携わった皆さんにその新しいRubyをご紹介いただきます。 RubyはJust-In-Time(JIT)コンパイラという機能を備え... 続きを読む
Ruby 3.3.0 リリース
Ruby 3.3.0 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 Prism default gemとしてPrismパーサを導入しました。 Prismは、Ruby言語のためのポー... 続きを読む
Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?
回答 (13件中の1件目) 現代の「インタプリタ」ってほぼVMコードへのコンパイル+VMでの実行で、よほどナイーブな実装でない限り既にかなり速いです。そのままVMコードへのコンパイルをネイティブコードへのコンパイルにしてもたいして速くならないんですよ。 結局何に時間かかってるかというと実行時の型検査やディスパ... 続きを読む
RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
僕はRustでRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyでRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務とし... 続きを読む
RubyのYJITコンパイラをShopifyが本番に投入、Railsアプリを高速化。Rubyも本格的にJITの時代へ
RubyのYJITコンパイラをShpopifyが本番に投入、Railsアプリを高速化。Rubyも本格的にJITの時代へ ECサイト構築サービスを提供するShopifyは、Ruby 3.2に搭載されているYJITコンパイラを同社の本番環境に投入し、Railsベースで構築された同社サービスの性能改善を実現したと明らかにしました。 YJITコンパイラはShopifyが... 続きを読む
やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab - ファインディエンジニアラボ
国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてで... 続きを読む
JavaScript で CPU が Intel かどうかを判定する(ついでに JIT を検知する)
先日、次のような Tweet を見かけました TIL I discovered that TensorFlow.js uses an interesting trick to sniff your CPU architecture in WebAssembly. pic.twitter.com/LVyywIM48I — Robert Knight (@robknight_) January 4, 2023 面白かったので、なぜこうなるのかの解説と、ついでにこのテクニックを使った JIT ... 続きを読む
YJITで使ったRustの省メモリ化テクニック - Qiita
これは Rust Advent Calendar 2022 のカレンダー2の22日目の記事です。 YJITとは 私は今年の7月からShopifyという会社でRubyのJITコンパイラであるYJITを開発している。このJITは今年CからRustに書き直されたため、現職では業務としてフルタイムでRustを書いている。 実用段階になったYJIT おそらく世界最大規模でRubyを... 続きを読む
JavaScriptのJITをざっくり理解する会
普段自分たちが書いているJavaScriptという言語はスクリプト言語であり、インタプリタで実行する。がそれは言語の制約ではなく実行環境の制約になるはず。 現在JavaScriptの実行環境としてはNode.jsやChromiumに使われているV8というGoogle製のJavaScriptエンジンが特に知られているものになると思う 続きを読む
Why Ruby's JIT was slow / RubyKaigi Takeout 2021 - Speaker Deck
Transcript Why Ruby's JIT was slow RubyKaigi Takeout 2021 @k0kubun / Takashi Kokubun Self introduction • GitHub, Twitter: @k0kubun • Ruby committer ◦ JIT ◦ IRB: Color, ls, show_source ◦ Struct keyword_init • Treasure Data My first RubyKaigi: 2015 Hamlit will be Haml 6 (?) (Manually merged) None No... 続きを読む
JITをやめてみる ~Microsoft、「Edge」で「めっちゃすげえセキュリティモード」をテスト - 窓の杜
「PHP 8」が正式リリース ~JITの導入により、処理速度が大きく向上 - 窓の杜
Pythonより20%高速、「Pyston 2.0」が登場 | OSDN Magazine
Python実装のPyston開発チームは10月28日、メジャーリリースとなる「Pyston 2.0」を発表した。 PystonはCPythonのフォークで、LLVMおよびLLVMのJIT(Just In Time)実行エンジンを使用して構築されたPython実装。米Dropboxのプロジェクトとしてスタートしたが、2017年にDropboxがプロジェクトの支援を打ち切った。2020年... 続きを読む
FirefoxのJavaScriptエンジンが大幅に高速化される - GIGAZINE
Firefoxに搭載されている実行時コンパイラ(JIT)が、11月にリリース予定のバージョン83から大幅に高速化されることがわかりました。バージョン83は記事作成時点ではNightly版で提供されています。 Dogfooding Warp https://groups.google.com/g/mozilla.dev.platform/c/1PHhxBxSehQ Firefox's JIT is getting significant... 続きを読む
JITとコードの暖気の実体 - #chiroito ’s blog
どうも、OpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気 Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルします。このコンパイル時にはCPUリソースを使用します。 コンパイルに... 続きを読む
PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した) - Qiita
本当かよ????????? まずPHP7.4.7からPHP8にアップデートするだけで処理時間が1割削減されています。 ただでさえ新機能てんこ盛りだってのに、そのうえ速度も上がるとかどうなってるんだPHP8。 次いでopcacheを有効にすると処理時間が半分になります。 最後にJITを有効にしたら、処理時間がopcache有効状態の30%... 続きを読む
PHPの最新状況:PHP 8.0開発が進む(第11回) | KUSANAGI MAGAZINE
2020年も2か月が過ぎ、PHPの開発は次期メジャーバージョンの8.0のリリースに向けた開発が順調に進んでいます。順調に開発が進めば2020年末までにPHP 8.0のリリースが行われることが予想されていますが、現時点でリリースに向けたスケジュールは定義されていません。 PHP 8.0の最大の強化点はJIT(Just-In-Time)コンパイラ... 続きを読む
Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|若手Webエンジニアのキャリアを考える!
まつもとさんはとにかく忙しくて 実はすごいirbの改良 パターンマッチはRubyをどう変えるか キーワード引数は、端的に壊れていたのを大整理した 高速化に向けたいくつかの観点 Ruby 2.7で導入される「コンパクションGC」とは Ruby 3のビジョンは「静的解析」「並行並列」「JIT」 関連記事 プログラミング言語Rubyには、... 続きを読む
「PHP 8」にJITを導入、パフォーマンスが大幅向上:CPUに負荷がかかるワークロードに有用 - @IT
開発中の「PHP 8」にJITコードを取り込む提案がPHPの開発者コミュニティーの投票で可決された。CPUに負荷のかかるワークロードで実行速度が劇的に高まるという。 オープンソースの汎用(はんよう)プログラミング言語「PHP」の最新版「PHP 8」へ「JIT(Just-In-Time)」コンパイラを導入することが決まった。 JITコード... 続きを読む
numbaによるfor文の高速化とjitの引数 - Qiita
pythonのfor文は遅い.Numbaが使いやすそう. そこまではわかった.Numbaの使い方も調べた.うん,@jitを頭に置けば良いのだろう.だがしかし,引数や返り値を指定する方法があるときいたが,どのようにすればよいかわからない.そのようなときに参考にすべきページ.ちなみに型指定をすると10倍程度高速化するそう. 参... 続きを読む
Ruby 2.6.0-rc1 Released
Ruby 2.6.0に向けた最初のリリース候補である、Ruby 2.6.0-rc1がリリースされました。 Ruby 2.6.0-rc1は、リリース前に出されるRelease Candidateに向けて最新の機能を試せるようにするためリリースされています。 JIT Ruby 2.6ではJIT (Just-in-time) コンパイラが導入されました。 JITコンパイラはあらゆるRubyプログ... 続きを読む
JITあれこれ | κeenのHappy Hacκing Blog
κeenです。遅刻してしまいましたがこのエントリーは 言語実装 Advent Calendar 2018 1日目の記事です。 最近私の観測範囲内でJITが流行っているのですが一口にJITと言っても色々あるよなーと思ったので私がJITについて知っていることをグダクダ話ます。 このブログでも何度がJITや周辺技術について取り上げてますが話の... 続きを読む
RubyのJITに生成コードのメモリ局所性対策を入れた話 - k0kubun's blog
昨日、RubyのJITの性能改善のためのパッチを入れた。 github.com buildersconで新ネタの1つとして話そうと思ってた話題だけど、CFPが通らなかったのでブログにまとめる。RubyConfに出してるCFPが通ったらそっちでは話すかも。 JITすればするほどRailsが遅くなる問題 Rubyの次期バージョンである2.6には、バイトコードをC... 続きを読む