質問

stackless pythonったくとらなかったも利用マルチコア、その点でよりも速くはpythonのスレッド/マルチプロセ?

すべてのベンチマークの使用stackless python taskletとの比較はpythonのスレッドロックキュー、その不正の原因になるロックは常に低い効率

参照を使用した場合には、単一のスレッド関数呼び出し なし ロックのあるべきで効率的としてstackless python

役に立ちましたか?

解決

機能性に注目して、性能(場から取り寄せた選りすぐりの必要性).

ほとんどの時間サーバーはI/O、マルチコアになりません。であれば I/Oでの作業を、マルチスレッドにpythonのが最も簡単なの答えです。

場合はサーバーの要望がCPUが集中し、その有する親プロセスでマルチスレッドは、それぞれの子プロセスは良いのです。

場規模が見異なるプラットフォームのように、Gimp用ドキュメ.場規模がpythonすようなマルチメディア通信と分散gimp用ドキュメPythonプロセスとして管理されてGettextポート分散クラスター

多くのオプションがない限り、取り扱獲 大きな大きな, するかの簡単なアプローチ.

リリースは早く、リリース。

他のヒント

非同期IO-ループとメッセージパッシング並行性およびその他のいくつかのトレンディな用語と呼ばれるこの新しい、トレンディな事があります。さて、そのすべてではない新しいが、それは主流によって発見されている。唯一のちょうどこれらの最後の5年間です。

はスタックレスPythonはVM自体がより良く通過これらのメッセージをサポートするように変更されたのPythonのバージョンであり、IOループ、そのトリックはグリーンスレッド/コルーチンである。

さまざまなツール、例えばと同じことを行うための他のライブラリがあります。 Pythonの上のツイストやトルネード、。あなたもStacklessのPythonの上などツイストハイブリッドを実行することができます。

IOループビットは非同期IOを行う方法ソケットに直接マップ、および労力のビットで積極的ではなく、反応性であることと、ファイル・システムだけでなく、ネットワークソケット、例えばで動作するように拡張することができます最新libeventます。

あなたは二つのアプローチを持っているところに複数のコアがある利用するために横にスケールに - のマルチスレッドの。共有状態、例えばスレッドまたはプロセス間 - 例えばマルチプロセッシングメッセージキュー。これは、これらのコアは異なるマシン上にある場合、コアの数が大量になるかのようにメッセージ・パッシングが性能面追い越す一方のスレッドのアプローチは、局所的にコアの多数のためにうまく機能現在のアーキテクチャの一般的な制限です。そして、あなたは、ハイブリッドアプローチをすることができます。

そのためのPython VMにおける内部設計の選択肢のは、それはあなたが他のプラットフォーム上かもしれないよりも早くメッセージパッシングで複数のプロセスに行くので、一般的にマルチプロセッシングなどのマルチスレッドでのほど効率的ではありません。

しかし、一般的なアプローチを渡すメッセージがきれい、の簡単正しいのバージョンです。

そして例えば異なる、追加の目的や制約で、同じアプローチで構築し、他の言語がありますアーラン、Node.jsの、Clojureのは、行きます。

これらのうち、Clojureのは、おそらく最も有益です。あなたはClojureのチックどのように理解し、の疑問の解消の通過を考えるときは、他のシステムの全体目標と制約が場所に分類されます...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top