タグ JIT
新着順 10 users 50 users 100 users 500 users 1000 users多彩な表現をご覧あれ。JavaScriptによるデータビジュアル化ライブラリ「JavaScript InfoVis Toolkit(JIT)」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向け
JavaScriptを使ってWeb上でデータを多彩にビジュアル化するライブラリがJavaScript InfoVis Toolkit(JIT)です。その多彩な表現をご覧ください。 0 続きを読む
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 ... 続きを読む
JITあれこれ | κeenのHappy Hacκing Blog
κeenです。遅刻してしまいましたがこのエントリーは 言語実装 Advent Calendar 2018 1日目の記事です。 最近私の観測範囲内でJITが流行っているのですが一口にJITと言っても色々あるよなーと思ったので私がJITについて知っていることをグダクダ話ます。 このブログでも何度がJITや周辺技術について取り上げてますが話の... 続きを読む
VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog
2017 - 10 - 19 VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 先日のRubyKaigi 2017のLTでは LLVM ベースのCRuby向け JIT コンパイラ LLRB の話をしました。 5分はちょっと JIT の話をするには短かかったですね。 LLRBをふまえた、Cのコード生成への軌道修正 さて、上記の資料にある通り、CRubyの JIT におい... 続きを読む
やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab - ファインディエンジニアラボ
国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてで... 続きを読む
Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?
回答 (13件中の1件目) 現代の「インタプリタ」ってほぼVMコードへのコンパイル+VMでの実行で、よほどナイーブな実装でない限り既にかなり速いです。そのままVMコードへのコンパイルをネイティブコードへのコンパイルにしてもたいして速くならないんですよ。 結局何に時間かかってるかというと実行時の型検査やディスパ... 続きを読む
RubyのJITに生成コードのメモリ局所性対策を入れた話 - k0kubun's blog
昨日、RubyのJITの性能改善のためのパッチを入れた。 github.com buildersconで新ネタの1つとして話そうと思ってた話題だけど、CFPが通らなかったのでブログにまとめる。RubyConfに出してるCFPが通ったらそっちでは話すかも。 JITすればするほどRailsが遅くなる問題 Rubyの次期バージョンである2.6には、バイトコードをC... 続きを読む
JITコンパイルでの冒険 パート1:インタプリタ | コンピュータサイエンス | POSTD
本記事では、BFのインタプリタがナイーブなアプローチから最適化されたバイトコードにコンパイルするアプローチへと徐々に洗練され、その過程で10倍も高速化されていく様子を見ていきます。このソース言語と、その最適化に伴うトレードオフのいくつかについて理解を深めていきましょう。本記事は、JITコンパイラに関するシリーズの第1回目です。計画としては、シンプルな入力言語を使ってそのインタプリタとJITをいくつ... 続きを読む
JITとコードの暖気の実体 - #chiroito ’s blog
どうも、OpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気 Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルします。このコンパイル時にはCPUリソースを使用します。 コンパイルに... 続きを読む
RubyのYJITコンパイラをShopifyが本番に投入、Railsアプリを高速化。Rubyも本格的にJITの時代へ
RubyのYJITコンパイラをShpopifyが本番に投入、Railsアプリを高速化。Rubyも本格的にJITの時代へ ECサイト構築サービスを提供するShopifyは、Ruby 3.2に搭載されているYJITコンパイラを同社の本番環境に投入し、Railsベースで構築された同社サービスの性能改善を実現したと明らかにしました。 YJITコンパイラはShopifyが... 続きを読む
hhvmのExtension書いてみた | GREE Engineers' Blog
みなさんこんにちは。hackしてますか? 今日はhhvmのC++拡張(Extension)について書いてみます。 前振り hhvmはfacebookが開発・公開しているPHPの処理系のうちの一つでC++で書かれており、linux上でのJITがサポートされており場合によってはとても高速にPHPアプリケーションを実行する事ができます。 勿論Native拡張を書くこともでき、既存のライブラリ資産の有効活... 続きを読む
Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|若手Webエンジニアのキャリアを考える!
まつもとさんはとにかく忙しくて 実はすごいirbの改良 パターンマッチはRubyをどう変えるか キーワード引数は、端的に壊れていたのを大整理した 高速化に向けたいくつかの観点 Ruby 2.7で導入される「コンパクションGC」とは Ruby 3のビジョンは「静的解析」「並行並列」「JIT」 関連記事 プログラミング言語Rubyには、... 続きを読む
JITコンパイラを初搭載した「Ruby 2.6.0-preview1」リリース。大幅な実行速度向上を目指し - Publickey
JITコンパイラを初搭載した「Ruby 2.6.0-preview1」リリース。大幅な実行速度向上を目指し Rubyでは、次のメジャーバージョンアップとなるRuby3をRuby2の3倍の実行速度にするという「Ruby 3x3」(ルビースリーバイスリー)構想に基づいて開発が進められています。JITコンパイラの実現は実行性能の向上に欠かせない要素であり、プレビュー版でのJITの初搭載はRuby 3x3... 続きを読む
Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ
22:25 | 前回の文字列操作編では適当に文字列操作のパフォーマンスを測定しようとしたらGC様とJITコンパイラ様に阻まれた、という話だった。モヒカン族*1が「てめえの計測はなっちゃいねー!ひゃっはー!」と殴りかかったらケンシロウみたいなのが出てきて「あべしっ」となった、ぐらいのつまらない話だったが、反省してこれらと向かい合ってみたい。JITコンパイラについての情報JITコンパイラ(Just I... 続きを読む
JITコンパイルでの冒険 パート2:x64 JIT | コンピュータサイエンス | POSTD
本記事では、BFをx64機械コードに変換する第1段階に集中的して説明します。このシリーズのパート1の定義に基づき、実際にBFコンパイラ(BFソースからx64機械コードへのコンパイル)を開発します。最適化JITを開発していく過程を見ることで、コンパイラやJITについての理解を深めていきましょう。このシリーズの最初のパート (訳注:POSTDの翻訳記事へのリンクです) で簡単にBFソース言語を紹介し、... 続きを読む
mrubyのJITの概要 - Qiita
まあ、VMをぶん回すようなプログラムだと、大体5~10倍くらいの速度が出るようです。文字列処理やIOなどCで書かれたライブラリを多用すると速度の差は縮まるでしょう。 内部構造 mrubyのJITはTracing JITです。Tracing JITそのものはググってください。mrubyのVMのバイトコード命令をフェッチして命令毎の処理に分岐するところで制御を乗っ取って実行回数をカウントします。実行回... 続きを読む
あなとみー おぶ mrubyのJIT (その1) - miura1729の日記
13:38 | ふと思い立ってものすごく影の薄いmrubyのJITの内部構造を説明することにしました。mrubyのJITは正式名称がないというとてもかわいそうなmrubyのフォークですが、オリジナルのmrubyの1〜3割(倍じゃないのに注意)速いようです。ここにあります、 https://github.com/miura1729/mruby さて、mrubyのJITはTracing JITなるもの... 続きを読む
「PHP 8」にJITを導入、パフォーマンスが大幅向上:CPUに負荷がかかるワークロードに有用 - @IT
開発中の「PHP 8」にJITコードを取り込む提案がPHPの開発者コミュニティーの投票で可決された。CPUに負荷のかかるワークロードで実行速度が劇的に高まるという。 オープンソースの汎用(はんよう)プログラミング言語「PHP」の最新版「PHP 8」へ「JIT(Just-In-Time)」コンパイラを導入することが決まった。 JITコード... 続きを読む
JavaScriptのJITをざっくり理解する会
普段自分たちが書いているJavaScriptという言語はスクリプト言語であり、インタプリタで実行する。がそれは言語の制約ではなく実行環境の制約になるはず。 現在JavaScriptの実行環境としてはNode.jsやChromiumに使われているV8というGoogle製のJavaScriptエンジンが特に知られているものになると思う 続きを読む
JITをやめてみる ~Microsoft、「Edge」で「めっちゃすげえセキュリティモード」をテスト - 窓の杜
Facebook開発、PHPをJITで高速実行「HipHop仮想マシン」 | エンタープライズ | マイナビニュース
A new PHP execution engine based on the HipHop language runtime that we call the HipHop Virtual Machine FacebookからPHP実行環境に関する最新技術「HipHop仮想マシン」が発表された。HipHop仮想マシン(hhvm)は実行時に動的にコードをバイナリコードへ変換することでPHPの実行速... 続きを読む
RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
僕はRustでRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyでRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務とし... 続きを読む
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... 続きを読む
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)コンパイラという機能を備え... 続きを読む
YJITで使ったRustの省メモリ化テクニック - Qiita
これは Rust Advent Calendar 2022 のカレンダー2の22日目の記事です。 YJITとは 私は今年の7月からShopifyという会社でRubyのJITコンパイラであるYJITを開発している。このJITは今年CからRustに書き直されたため、現職では業務としてフルタイムでRustを書いている。 実用段階になったYJIT おそらく世界最大規模でRubyを... 続きを読む