2010-12-10 7 views
9

Unter welchen Umständen wäre etwas wie eventlet/gevent besser als verdreht? Twisted scheint am häufigsten verwendet zu werden, aber Eventlet/Gevent muss einige Vorteile haben ... Ich bin nicht auf der Suche nach einer Antwort auf ein bestimmtes Szenario, nur allgemeine.Twisted, gevent eventlet - Wann würde ich sie verwenden?

Antwort

10

Es ist eine Frage der ästhetischen Präferenz, denke ich.

Zunächst einmal kann Eventlet tatsächlich Twisted für die Vernetzung verwenden, also in gewisser Hinsicht ist es keine Entweder-oder-Frage, es ist eine This-is-Built-on-Top-of-that Frage.

Persönlich, sehe ich nicht die Notwendigkeit für Bibliotheken wie gevent oder eventlet, vor allem seit dem Aufkommen der @inlineCallbacks Dekorator in Twisted, die bereits Code schreiben, die sorta sieht aus wie es blockiert.

Wenn Sie jedoch eine große Bibliothek mit Code haben, die bereits Threads verwendet und sie ereignisgesteuert portieren möchten, können Sie mit etwas wie eventlet etwas Tipparbeit sparen, da Sie 'yield nicht einfügen müssen ist überall. Einige Leute, wie die Jungs hinter dem EVE-Online-Spiel, denken, dass Code, der in diesem Stil geschrieben ist, einfach besser für einige Dinge ist, wie zum Beispiel KI-Code.