[#39804] CGIでのリダイレクションの書き方 — Yoichiro Takehora <yoichiro@...>
こんにちは、竹洞です。
7 messages
2004/07/02
[#39811] keyword-argument-like argument passing via Hash — NISHIMATSU Takeshi <t-nissie@...>
西松と申します.
4 messages
2004/07/02
[#39814] Socket:IPヘッダの編集方法 — takeshi honda <moecho21@...>
本田と申します。
6 messages
2004/07/02
[#39819] [ANN] Ruby-GetText-Package-0.6.0 — Masao Mutoh <mutoh@...>
むとうです。
4 messages
2004/07/04
[#39822] (要素がString, Fixnum 以外の)配列の集合演算 — Hiroshi Takagi <gollum@...>
高木といいます、よろしく。
11 messages
2004/07/05
[#39823] Re: (要素がString, Fixnum 以外の)配列の集合演算
— 卜部昌平 <s-urabe@...>
2004/07/05
mput です。
[#39824] Re: (要素がString, Fixnum 以外の)配列の集合演算
— Hiroshi Takagi <gollum@...>
2004/07/05
高木です。
[#39826] Re: (要素がString, Fixnum 以外の)配列の集合演算
— nobu.nakada@...
2004/07/06
なかだです。
[#39856] 直接関係のない配列の有無が、ある配列の値に影響する不具合 — "Hisashi Yahata" <yahatah@...>
5 messages
2004/07/17
[#39863] forループの速度 — Masahiro Sato <msato@...>
15 messages
2004/07/20
[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>
大谷と申します。
31 messages
2004/07/20
[#39870] Re: イテレータとfor文
— Nowake <nowake@...>
2004/07/20
[#39886] Re: イテレータとfor文
— Tietew <tietew-ml-ruby-list@...>
2004/07/21
[#39891] Re: イテレータとfor文
— OOTANI TAKASHI <otn@...5.so-net.ne.jp>
2004/07/21
大谷です。
[#39910] Re: イテレータとfor文
— Atoh <atoh@...7.jp>
2004/07/23
あとうです。
[#39911] Re: イテレータとfor文
— OOTANI TAKASHI <otn@...5.so-net.ne.jp>
2004/07/23
大谷です。
[#39889] dRuby: 急に遅くなる — ちば けいすけ <chowder@...>
ちばです。
7 messages
2004/07/21
[#39908] htreeの高速化 — MoonWolf <moonwolf@...>
MoonWolfです。
6 messages
2004/07/23
[ruby-list:39889] dRuby: 急に遅くなる
From:
ちば けいすけ <chowder@...>
Date:
2004-07-21 11:05:40 UTC
List:
ruby-list #39889
ちばです。
dRuby を使った分散アプリケーションで、クライアントからサーバ
に大量のバイナリデータを送る実験をしています。
このメールの最後につけたようなスクリプトを書きました。
クライアントはサーバに自分が作ったオブジェクトへの参照を渡し
ます。サーバはそのオブジェクトから大きな String を繰り返し取
得します。
クライアントは(テストのためにわざとですが)1回ごとに
DRb.start_service を呼んで、サーバにデータを処理させ、
DRb.stop_service を呼びます。
これを何度か繰り返すと、あるところから急に処理時間が4倍くら
いかかるようになります。
なぜこういうことが起きるのでしょうか。
Ruby のバージョンは 1.8.1 mswin32版、dRuby のバージョンは
2.0.4、OS は Windows XP です。サーバとクライアントは同じマシ
ンで実行しました。
また、dRuby でクライアント-サーバ間で大量のバイナリデータを
やり取りするのに簡単で効率のよい方法を教えていただけると嬉し
いです。
よろしくお願いいたします。
#-----------------------------------------------------------
# サーバ
require 'drb/drb'
class ProcessData
include DRbUndumped
def process(data)
1024.times { s = data.get }
end
end
uri = ARGV.shift || nil
DRb.start_service(uri, ProcessData.new)
puts 'URI: ' + DRb.uri
sleep
#-----------------------------------------------------------
# クライアント
require 'drb/drb'
class GenerateData
include DRbUndumped
def get
return "x" * 1024
end
end
uri = ARGV.shift || raise("usage: #{$0} URI")
100.times {
DRb.start_service
server = DRbObject.new(nil, uri)
t = Time.now
server.process(GenerateData.new)
printf("%8.3f\n", Time.now - t)
DRb.stop_service
}
#-----------------------------------------------------------
ちば けいすけ <chowder@mtj.biglobe.ne.jp>