問題タブ [uvloop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4872 参照

python - aiohttp + uvloop 並列 HTTP リクエストは、uvloop がない場合よりも遅くなります

何百万もの API 呼び出しを並行して行うスクリプトを作成しています。

この目的のために aiohttp で Python 3.6 を使用しています。uvloop で速くなるだろうと思っていたのですが、遅くなってしまったようです。私は何か間違ったことをしていますか?

uvloop あり: 22 秒

uvloop なし: 15 秒

0 投票する
1 に答える
790 参照

cython - C から asyncio / uvloop ループにアクセスする方法

私はPythonを初めて使用しますが、非同期ループへのアクセスも必要とする、作成したC APIモジュールを使用するuvloopを使用する非同期Pythonアプリを持っています。

1) asyncio にはまだこのための c-api がありませんか? Cで使用可能なイベントループを取得するためのハックはありますか? これはどこかで議論されていますか?

2) uvloop は、C で使い慣れた libuv を使用します。uv_loop_t ポインターを取得できれば、ループにフックできます。私は次のいずれかができると思います:

A) PyObject * を使用して uvloop のループに uv_loop_t* へのオフセットを計算し、それを使用しますか? PyObject_HEAD の長さを知っていると仮定しますか?

B) または、ループ ポインターを公開するために uvloop を非ハッキーに変更します。私は cython コードを見たことがないので、ここではまったく無知です。ループで Python 関数を作成し、それを C コードから呼び出して、C ポインタを取得できますか? お気に入り:

ここに getLoop を追加すると:

https://github.com/MagicStack/uvloop/blob/master/uvloop/loop.pyx

0 投票する
1 に答える
5830 参照

python - uvloop と同等の asyncio イベント ループ

を使用したコルーチン メソッドのイベント ループがありますasyncio

代わりにuvloopを使用して、次の例と同等のものを探すことに熱心です。

簡単なasyncioイベント ループの例を次に示します。


質問:

  • uvloopを使用して上記のスニペット コードを修正するにはどうすればよいですか?

  • 次の変更は、より高いパフォーマンスでuvloopを使用するために正しいですか?

    /li>

[]:

  • uvloopは、asyncio を 2 ~ 4 倍速くすると主張しています。