Ruby

プロキシ環境下でElasticsearchにRubyから接続できない

問題 プロキシ環境下で、localhostに立てたElasticsearchに gem elasticsearchを用いて、Rubyプログラムから接続を試みると、 プロキシサーバーを通して外に接続しに行こうとする orz... バージョン Ruby 2.1.2p95 Elasticsearch 1.3.2 elasticsearch(gem) 1…

MRIとRubiniusで排他制御

はじめに Matz's Ruby Interpreter(MRI)とRubiniusで排他制御したマルチスレッドプログラムを実行し、結果を比較します。 実行時間計測、CPUコア使用状況を見ていきます。 MRI排他制御なし MRI排他制御あり Rubinius排他制御なし Rubinius排他制御あり の4つ…

MRIとRubiniusでマルチスレッド

はじめに Matz's Ruby Interpreter(MRI)とRubiniusでマルチスレッドプログラムを実行し、結果を比較します。 実行時間計測、CPUコア使用状況を見ていきます。 複数回実行して、平均を取るなど真面目に検証はしていません。 準備 Rubyのバージョン $ ruby -v …

Rubyでスレッドセーフでないことを簡単に確認したい

RubyのスレッドにはGiant VM lock (GVL) (Global Interpreter lock) が実装されており、同時に実行される ネイティブスレッドは常にひとつです。なので、スレッドセーフでないプログラムを実行しても、排他制御が効いているように見えます。 例えば次のコー…