ブックマーク / qiita.com/k0kubun (4)

  • YJITで使ったRustの省メモリ化テクニック - Qiita

    これは Rust Advent Calendar 2022 のカレンダー2の22日目の記事です。 YJITとは 私は今年の7月からShopifyという会社でRubyのJITコンパイラであるYJITを開発している。このJITは今年CからRustに書き直されたため、現職では業務としてフルタイムでRustを書いている。 実用段階になったYJIT おそらく世界最大規模でRubyを使っている弊社では、お客様のお店のサイトをレンダリングするアプリには社内最大のトラフィックが来ていて、実は最近そのアプリほぼ全台で最新のYJITが有効化されたことが昨日公開情報になった。あまりにも大量のトラフィックが来るので、YJITによって行なわれているRubyコード実行量はYJITが使われてないものよりも世界全体で見て多くなったのではないかとCEOが言っていた。 この規模のトラフィックを捌くためにこのアプリは比較的よく

    YJITで使ったRustの省メモリ化テクニック - Qiita
    koyancya
    koyancya 2022/12/22
  • サーバーのプロビジョニングをmitamae + hochoでやる方法 - Qiita

    mitamaeとは Chefに比べ、よりシンプルかつ依存(chef server, cookbook, berkshelf, data_bags)が少なく実行できるItamaeというツールがあるんですが、mitamaeはmrubyを使うことでそこから更に依存(Rubyインタプリタ, RubyGems)を減らしシンプルにしたツールです。 歴史: https://k0kubun.hatenablog.com/entry/itamae-mruby https://k0kubun.hatenablog.com/entry/mitamae 何故mitamaeは便利なのか itamae sshを使うとサーバーに何も入ってない状態のまま気軽にサーバーをプロビジョニングできるため非常に便利なのですが、itamae ssh は各コマンドごとにssh越しの通信が発生してしまい非常に遅く不快なため、通の間ではo

    サーバーのプロビジョニングをmitamae + hochoでやる方法 - Qiita
    koyancya
    koyancya 2018/09/03
  • Ubuntu 18.04でRuby 2.0.0をビルドする - Qiita

    Ubuntu 18.04で普通に生活していると1.1.0以上のOpenSSLがインストールされるが、その状態で rbenv install 2.0.0-p648 をやるとOpenSSLのヘッダで #error となりビルドに失敗する。 基的にはEOLであるRuby 2.0.0を使うのをやめるのが正しいのだが、現在のtrunkがRuby 2.0.0の何倍高速かを調べるためにビルドしなければならなかったため、方法をメモしておく。 OpenSSL 1.0.2をインストールする aptの設定を書いてグローバルにインストールするOpenSSLのバージョンを下げることもできるが、まあ普通にRuby 2.0.0をビルドする以外では最新のものを使いたいのでソースからビルドして適当なディレクトリ(ここでは /opt/openssl-1.0.2o)に置いておくことにする。 https://www.opens

    Ubuntu 18.04でRuby 2.0.0をビルドする - Qiita
    koyancya
    koyancya 2018/05/28
    専門的な用途だ -> "基本的にはEOLであるRuby 2.0.0を使うのをやめるのが正しいのだが、現在のtrunkがRuby 2.0.0の何倍高速かを調べるためにビルドしなければならなかったため、方法をメモしておく。"
  • RubyのソースのASTを見る方法 - Qiita

    問題 cout/ruby-internalが新しめのrubyで動かない --dump=parsetree オプションを使う https://bugs.ruby-lang.org/issues/2455 で体にnodeをダンプするオプションが入っているので、 ruby hoge.rb --dump=parsetreeなりruby -e "hoge" --dump=parsetreeなりすると見れる example ruby -e "1+2+3" --dump=parsetree ########################################################### ## Do NOT use this node dump for any purpose other than ## ## debug and research. Compatibility is

    RubyのソースのASTを見る方法 - Qiita
    koyancya
    koyancya 2014/07/10
    "何かの役にたつといいですね"
  • 1