技術部のフルタイム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
Your web browser is no longer supported. To improve your experience update it here
[速報]GitHub、見られてはいけないコード中のアクセストークンを発見し通知してくれる「Token Scanning」発表。GitHub Universe 2018 クラウドサービスが充実してきたことで、コードからクラウドAPIを呼び出して利用することが一般的になってきました。クラウドAPIを呼び出す際には、適正な呼び出し権限を持つことを示すため、あるいは呼び出す側を特定して課金するなどの目的でアクセストークンを用いることがあります。 アクセストークンは第三者に知られないように安全に管理し利用する必要がありますが、何らかの原因でアクセストークンがコード内にそのまま記述されてそのコードがGitHubなどで公開された結果、悪意のある第三者に使われ、アクセストークン本来の持ち主に膨大な利用料金が請求される、といった事故がしばしば起きています。 GitHubはこうした事故を防ぐため、コード内に記
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く