2022年10月13日のブックマーク (4件)

  • Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp

    CPUの世界では、内部の機構をフロントエンド(命令フェッチとデコード)とバックエンド(命令実行とメモリ)で分けることができます。つまりrailsbenchの実行においては、フロントエンドの処理がバックエンドの処理に対して間に合っておらず、全体としてCPUの性能を使い切れていないことになります。 また、RubyのプログラムとYJITが生成したコードの行き来(ジャンプ)が頻繁に行われていました。このジャンプが多いということは、それだけ実行のために参照するアドレスが多く、結果としてコードの実行パスが増えてしまいます。その結果、予測が失敗したパス(汚染されたパス)が大量に増えて、投機的実行の予測精度に影響を与えていました。 加えて初期のYJITでは、この汚染されたパスもコード生成に利用していたため、さらに問題を悪化させていました。 これらが原因となり、初期のYJITではrailsbenchのパフォ

    Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp
    ydah
    ydah 2022/10/13
  • AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog

    ANDPAD バックエンド担当の原田(@tomtwinkle)です。 普段はGolangでモリモリコードを書いていますがDevOps関連の記事ばかり書いてます。 お察しの通りなんですが、今回もDevOps関連の記事だったりします。 やり方だけ知りたい人は Motivation の部分は読み飛ばして貰っても問題ないです。 Motivation AWS CodeBuild側の準備 GithubのPrivate Access Tokenを発行する AWS Systems ManagerのParameter StoreにDBGithubへのアクセス情報を記述 CodeBuildを作成 Github Repository側の用意 Buildspecの記載 動作結果 謝辞 さいごに Motivation 私が担当しているANDPADボードではRDS(MySQL)を利用しています。 そして、DBのsc

    AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog
    ydah
    ydah 2022/10/13
  • strong_migrations gemのススメ - Money Forward Developers Blog

    こんにちは。会計Plusでエンジニアをしているぽっけです。最近はシャケをしばくバイトで、やっとでんせつに上がりました。 今日はstrong_migrationsというRails向けのgemを紹介します。 strong_migrationsとは https://github.com/ankane/strong_migrations strong_migrationsは、危険なmigrationを検出するgemです。 データベースのmigrationは、ときに危険になります。たとえば実行するDDLによってはデータベースへの書き込みをブロックしてしまうことがあります。またテーブル定義の変更は、うまくやらないとアプリケーションが意図せぬ動作をするかも知れません。 strong_migrationsはそのような危険なmigrationを検出します。 ⁠使い方 使い方はかんたんです。strong_mi

    strong_migrations gemのススメ - Money Forward Developers Blog
    ydah
    ydah 2022/10/13
    危険なmigrationを検出できるの凄く便利そう
  • 研鑽Rubyプログラミング β版

    ※正式版発売までしばらくお待ちください※ PDFのみの提供です。紙書籍はありません ご購入にあたっては下記の「β版についての注意」をよくお読みください 正式版(体価格未定)を差額等でお求め頂くことはできません 原則を学んで腕を磨き、さらなる高みを目指す Jeremy Evans 著、角谷信太郎 訳 原書 Polished Ruby Programming A5判 2023年2月16日 β3に更新済み(2021年11月30日 β版発行) β3版へのフィードバック 書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を伝えることです。 解決策をどのように実装するかだけではなく、さまざまな実装方式と、それらの間のトレードオフ、ある方式が特定の状況下ではなぜ有効なのかといった観点も重視します。 原則を伝えることが書の主な目的ですが、Rubyプログラミングの発展的な技法について説

    研鑽Rubyプログラミング β版
    ydah
    ydah 2022/10/13
    研鑽を履修開始しました