PyPyとか速度とかの話

xxx
0
Yutaka Matsubara @mopemope

いい目安になるな QT @methane: URL書き忘れたので再送: geventとかErlangとかEventMachineとかgoとかnodeとかでechoサーバー書きました。 #llplanets で興味を持った人はどうぞ。 http://t.co/QGZkYeA

2011-08-22 20:06:50
Yutaka Matsubara @mopemope

ぶっちゃけやってることが全く同じじゃないからな。あのベンチ

2011-08-22 20:08:49
Yutaka Matsubara @mopemope

とりあえずtornado越えを目指せばいいのかな

2011-08-22 20:11:05
Yutaka Matsubara @mopemope

pypyだとループが速くなるからかなあー。あんまし速くなる要素ないと思ってたけど

2011-08-22 20:18:17
Yutaka Matsubara @mopemope

pypyのフレームオブジェクトとかそのへんどーなってたっけ?昔はなんか制限あった気がするけど

2011-08-22 20:20:16
methane @methane

@mopemope PyPyだとgeventは絶望的なので、今は実現出来ていない Stackless と JIT の共存ができると新しい世界が開ける気がします。

2011-08-22 20:22:01
Yutaka Matsubara @mopemope

@methane まあ別れると思いますねー。pypyでうごくgreenlet もリポジトリに転がってたけどもうないのかな

2011-08-22 20:28:03
methane @methane

ベンチの環境はCore2Duo 1.86GHz, debian squeezeホストにギガのスイッチ1つ経由で負荷をかけました。Erlangはaptでいれた1:14.a-dfsg-3でhipeなんですが、性能が思ったほど出ず、指定するべき起動オプションとかあったら教えて下さい

2011-08-22 20:29:39
methane @methane

RT @koichik: .@methane の Node 版はワンライナー可。これ豆な。 node -e 'require("net").createServer(function (socket) { socket.pipe(socket); }).listen(5000, "0.0.0.0");'

2011-08-22 20:30:13
methane @methane

Nodeの socket.pipe(socket) は最初見たときナニコレecho専用関数?とか思ったけど、普通にチャットとかプロキシとか作るときに便利なはずなので他のフレームワークも用意したらいいと思う。

2011-08-22 20:31:46
Yutaka Matsubara @mopemope

pypyよくトランスレートでこけてたからいい印象ないな

2011-08-22 20:44:54
Yutaka Matsubara @mopemope

pypyなら_stackless.greenletか。geventはC/APIでgreenlet触ってないからいけないこともない気がすっけど

2011-08-22 21:25:25
Yutaka Matsubara @mopemope

C拡張はpypyでも動くはずだけどな

2011-08-22 21:26:23
Yutaka Matsubara @mopemope

まあ少しぐらい手いれないといけないけど動かせないことなさそうだけどな

2011-08-22 21:27:21
Yutaka Matsubara @mopemope

eventletは相当前にpypy-stackless サポートしてたんだけど。今どーなってんだろな。誰も知らないのかな

2011-08-22 21:28:56
Yutaka Matsubara @mopemope

pypyは予想通り、JITとstacklessは同時に動かせない。なのでpypyだとコールバックスタイルのものしか使えないな

2011-08-23 08:19:20
Yutaka Matsubara @mopemope

pypyの-O2とかCPythonの2倍ぐらいの遅さなので使う全く意味ないね

2011-08-23 08:20:18
Yutaka Matsubara @mopemope

tornado,twisted使ってればpypyで速くできる可能性はある

2011-08-23 08:21:52