問題タブ [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.
python - aiohttp + uvloop 並列 HTTP リクエストは、uvloop がない場合よりも遅くなります
何百万もの API 呼び出しを並行して行うスクリプトを作成しています。
この目的のために aiohttp で Python 3.6 を使用しています。uvloop で速くなるだろうと思っていたのですが、遅くなってしまったようです。私は何か間違ったことをしていますか?
uvloop あり: 22 秒
uvloop なし: 15 秒
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