技術部のフルタイムRubyコミッタの遠藤(@mametter)です。昨日の Hackarade #04 の開催報告に続き、2日連続で記事を投稿します。 今回は、ある条件下でのRubyの実行速度を高速化した話を紹介します。この改善はすでにMRIの先端にコミットされていて*1、年末リリース予定のRuby 2.6に含まれる予定です。 ひとことで言うと、「簡潔ビットベクトルを索引に使うことで、プログラムカウンタから行番号を計算するアルゴリズムをO(log N)からO(1)に改善した。これにより、TracePoint有効時やコードカバレッジ測定下で、長さ N のメソッドの実行が O(N log N) から O(N) に高速化される」ということです。順に説明します。 背景:Rubyのバイトコードの構造 この最適化を理解するにはまず、Rubyのバイトコードのある特徴を知る必要があります。 たとえば x
[速報]GitHub Actions発表、Dockerコンテナの連係によるワークフローを自由に定義可能。GitHub Universe 2018 GitHubが主催するイベント「GitHub Universe 2018」が、サンフランシスコで開幕しました。 初日の基調講演で同社は「Pull Request以来もっとも大きな新機能」(同社シニアバイスプレジデント Jason Warner氏)とするGitHubの新機能「GitHub Actions」を発表しました。 GitHub Actionsとは、GitHubのイベントをトリガーとして任意のDockerコンテナの実行を連係させていくことにより、ユーザーが自由にワークフローを定義できるというものです。 ワークフロー内のアクションとしてDockerコンテナを実行できるため、コードのビルドやテストの実行、クラウドへのデプロイなど、GitHubの機
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く