タグ

ブックマーク / tech.speee.jp (3)

  • Ruby を Julia に変換して実行すると速くなる (場合がある) - Speee DEVELOPER BLOG

    開発部 R&D ユニットの村田です。OSSの開発をしております。記事では、Ruby で書かれたマンデルブロ集合を計算するメソッドを実行時に Julia に変換して実行するとめっちゃ速くなる (場合がある)、という話をします。 はじめに Ruby 3.1 では YJIT がマージされ、Rails アプリケーションが速くなりました。今後のバージョンアップがとても楽しみですね。ただし、Ruby のデータ処理対応を進めている身としては、データ処理や数値計算がより高速になって欲しいと思っています。 データ処理や数値計算を高速化する試みとして、Python では NUMBA というライブラリが開発されています。NUMBA は、メソッド単位でバイトコードを LLVM を用いてネイティブコードにコンパイルすることでメソッド実行を高速化します。ただメソッドをネイティブコードに変換するのではなく、実行時にメ

    Ruby を Julia に変換して実行すると速くなる (場合がある) - Speee DEVELOPER BLOG
    ledsun
    ledsun 2022/05/22
    “型つき AST を捜査して Julia のコード生成を行う Ruby to Julia ブリッジの eval メソッドを使って Julia 側で生成されたコードを評価する Julia 側に定義された関数を呼び出す Ruby 側のメソッドを定義する” すごい
  • MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み - Speee DEVELOPER BLOG

    Ruby コミッターの村田です。Ruby 3.0 に組み込まれる実験的な新機能を作ったので解説します。 新機能は MemoryView と名付けられました。これは C などで書かれる拡張ライブラリ向けの機能です。メモリ上の、型が均一で同一サイズの要素から構成される配列 (e.g. 行列や画像など) を、複数の拡張ライブラリ間でコピーレスで共有するために必要な仕組みを提供します。 MemoryView が導入された背景 多次元数値配列が重要な役割を持つ時代になった 深層学習やデータサイエンスの流行にあわせて、メモリ上で大きなサイズの多次元数値配列データを処理する事例が増加しています。このような数値配列データに対する処理は、複数のライブラリの機能を組み合わせて実現されます。この分野でよく使われる Python では、データ構造を numpy と pandas が提供し、機械学習アルゴリズムを

    MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み - Speee DEVELOPER BLOG
    ledsun
    ledsun 2020/12/24
    自分で欲しいものを自分で作った、大変いい話だった。
  • Speee でやっている OSS Days という活動が好きで広がってほしい気持ちがあり記事を書きました - Speee DEVELOPER BLOG

    はじめまして こんにちは、Speee の 秒速@284km と申します。7 月に入社していました。社内でも名ではあまり通じません。先日 技術書典5 に当選しました 🎉 デジタル・トランスフォーメーション(DX)事業部の SRE チームに所属しており、最近の様子としては、運用業務を楽にする為のコードを書いたり、自分達が心地よい開発体験を得る為の行動をしたりと、少し抽象的な説明ですがそういう感じです。 今回は、Speee でやっている OSS Days という取り組みが素晴らしいと思っていて、こういう活動が広がったら嬉しいという気持ちを込めて記事を書きました。 OSS Days とは まず、OSS Days とは何かと言うと、"火曜日の 17:00 から Speee ラウンジで行っている OSS 開発をする活動" のことです。 参加は必須ではありません。やりたい人が参加します。 僕は 7

    Speee でやっている OSS Days という活動が好きで広がってほしい気持ちがあり記事を書きました - Speee DEVELOPER BLOG
    ledsun
    ledsun 2018/08/07
    プログラマー向け福利厚生が充実しているなあ
  • 1