Diesel ist das neue Tornado
Verfasst: Donnerstag 24. September 2009, 12:33
Neue Web-Rahmenwerke im Sekundentakt: Hier ist schon wieder eines http://dieselweb.org/
Leider muss ich sagen, der Webauftritt wirkt auf mich wenig ansprechend.
Technisch ist es ähnlich zu Tornado, als dass es auch epoll unter Linux nutzt, um so effiziente asynchrone Server - nicht nur HTTP - zu bieten. Es kommt mit seiner eigenen HTTP/1.1-Implementierung (ob die wohl im Gegensatz zu Tornado auch chunked-Encoding kann?) und funktioniert möglicherweise auch auf anderen Plattformen, da es ansonsten keine binären Anteile hat.
Was interessant ist, dass sie Coroutinen benutzen, damit man nicht überall diese doofen Callback-Funktionen explizit definieren muss. Das sieht interessant aus.
Dafür steht bei diesem Startup nicht Facebook dahinter...
Dafür behaupten sie, Hello-World noch ein bisschen schneller ausliefern zu können als Tornado.
Hier ist ein kleines Beispiel von der Startseite:
Die letzten drei Zeilen würde ich ja lieber so schreiben. Was finden die Leute alle nur an diesem unnötigen imperativen Stil?
Stefan
Leider muss ich sagen, der Webauftritt wirkt auf mich wenig ansprechend.
Technisch ist es ähnlich zu Tornado, als dass es auch epoll unter Linux nutzt, um so effiziente asynchrone Server - nicht nur HTTP - zu bieten. Es kommt mit seiner eigenen HTTP/1.1-Implementierung (ob die wohl im Gegensatz zu Tornado auch chunked-Encoding kann?) und funktioniert möglicherweise auch auf anderen Plattformen, da es ansonsten keine binären Anteile hat.
Was interessant ist, dass sie Coroutinen benutzen, damit man nicht überall diese doofen Callback-Funktionen explizit definieren muss. Das sieht interessant aus.
Dafür steht bei diesem Startup nicht Facebook dahinter...
Dafür behaupten sie, Hello-World noch ein bisschen schneller ausliefern zu können als Tornado.
Hier ist ein kleines Beispiel von der Startseite:
Code: Alles auswählen
from diesel import Application, Service, until_eol
def echo(remote_addr):
their_message = yield until_eol()
yield "you said: %s\r\n" % their_message.strip()
app = Application()
app.add_service(Service(echo, 7050))
app.run()
Code: Alles auswählen
run(Service(echo, 7050))