タグ

ブックマーク / k0kubun.hatenablog.com (5)

  • Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog

    Ruby 3.3がリリースされた。YJITには非常に多くの改善が含まれたリリースだったが、 NEWS解説記事やリリースパーティーでは 2点しか触れられなかったので、この記事ではRuby 3.3でYJITがどう改善されたかについて解説する。 YJITは既に実用段階 YJITRuby 3.1で導入されたが、Ruby 3.2の時点でexperimentalのマークが外れ、実用段階となった。 Ruby 3.2では、以下のような企業で性能改善が報告された。 DeNA: 40% 高速化 GMOペバボ: 18% 高速化 STORES: 6.5-7.5% 高速化 Timee: 10% 高速化 メドピア: 2.8% 高速化 BOOK☆WALKER: 20-30% 高速化 Discourse: 15.8-19.6% 高速化 Lobsters: 26% 高速化 CompanyCam: 20-40% 高速化 弊

    Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog
    YassLab
    YassLab 2023/12/27
    "Ruby 3.2では以下のような企業で性能改善が報告された。DeNA: 40% / GMOペバボ: 18% / Timee: 10% / STORES: 6.5-7.5% / メドピア: 2.8% / Discourse: 15.8-19.6% / Lobsters: 26% / CompanyCam: 20-40% / Ruby 3.3.0は比較的安定したリリースになっているはず"
  • Mojoは「C言語のように速いPython」なのか - k0kubun's blog

    LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May

    Mojoは「C言語のように速いPython」なのか - k0kubun's blog
    YassLab
    YassLab 2023/05/06
    “AI開発のために高速なコードが書けるというのはいいものだと思うし、何よりLLVMやSwiftを作ったChris Lattnerがやっているというのがアツいところなので、正式リリースに期待”
  • RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog

    僕はRustRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務として開発しているRust製のYJITと、僕が趣味で開発しているRuby製のRJITの2つのJITコンパイラが存在している。余談だが、JITの開発をしすぎてRubyの作者であるまつもとさんのコミット数を最近抜いた。 なぜMJITをやめたのか MJITも結構がんばっていて、去年開発していたRuby 3.2ではMJITのコンパイラの実装をCからRubyにフルスクラッチした上、バックグラウンド処理をpthreadからfork + SIGCHLDで行

    RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
    YassLab
    YassLab 2023/04/07
    "本番環境では引き続きYJITを使うことが推奨される。YJITの開発ではコンパイル速度やメモリ消費量に細心の注意が払われており、ベンチマークの改善に即座に向上しない複雑な実装はマージしないで塩漬けにする傾向にある
  • フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog

    Shopifyに入社してRubyのJITコンパイラを書く仕事を始めてから2か月経った。 前職の退職エントリ では今後やりたいことを書いたりしたが、実際OSS開発を仕事にしてみてどうだったかみたいなことを書いておく。 シリコンバレーでのリモート生活 3年前にアメリカ移住し、今年永住権も取得した。 Shopifyは社はカナダにあるし2020年5月からフルリモート企業なのだが、 前職の社があったシリコンバレーのあたりからそのまま引っ越さずに暮らしている。 なぜシリコンバレーに住み続けるのか フルリモートである以上はカナダ移住のためのビザのサポートを会社がする動機もないため、 現職においても住む国の選択肢は基的に日アメリカになると思っている。 飯が安くて美味いのを主な理由としても僕も住むならアメリカより日の方が好きなのだが、 住む地域ベースで多くの企業が給料に傾斜をかけてくるこ

    フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog
    YassLab
    YassLab 2022/09/29
    "大きな組織ではその価値がスケールしやすい。僕はRubyやRailsのOSS開発を主に行なうグループに所属していて、大体40人くらいいるのだが、 社員が9000人ほどいる会社ではそこに投資しすぎということにもならないのだろう"
  • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

    7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

    Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog
    YassLab
    YassLab 2021/04/02
    “Reactの使い方は普通に覚えているのだが、このアプリではユーザー更新ページで部分的に使っているだけだった割りにnpmのライブラリの脆弱性アラートが無限に来るのがコスパ悪い / yarnとWebpackerもやめてSprocketsから配布”
  • 1