しょんぼり技術メモ

まいにちがしょんぼり

2010-12-01から1ヶ月間の記事一覧

MessagePack-RPCでバイナリデータを扱うときにUTF-8のままsliceすると死ぬほど遅いのでforce_encodingしよう(Ruby 1.9)

Ruby 1.9から、文字列にそのエンコーディングが含まれるようになった。また、MessagePack-RPCでは、Encoding::ASCII_8BITの文字列を送っても、受け手側ではEncoding::UTF_8になってしまうという仕様がある。 そのため、受け取ったデータをそのままsliceした…

MessagePack-RPCのFutureについての簡単な実験

MessagePack-RPC for Rubyの非同期RPCで使われるFutureについての簡単な実験。実験環境はRuby 1.9.2。 結論を先に: Future.getを複数回呼ぶとどうなるの? → 別に問題ない Future.getはスレッドセーフ? → いいえ。ロックしないと死ぬ。 Future.getを複数回…

MessagePack-RPC for Rubyででかいデータをやりとりするときの性能についての簡単な調査

をやってみた。環境はLinux 2.6.35.6, Core2 Quad Q6600, 4GB RAM. $ ruby --version ruby 1.8.6 (2010-02-05 patchlevel 399) [x86_64-linux] 結果 結果から先に。 $ ruby mprpc-bench.rb 127.0.0.1 12345 10 ********** Local Call ********* 1MB 0.001449…