https://github.com/bottlepy/bottle
Unter folgenden Gesichtspunkten habe ich mich für Bottle entschieden, was ich insgesamt für gut hielt.
Ich wollte Python 3 für diese ISUCON verwenden.
Es ist viele Jahre her, dass 3 herausgekommen sind und 2/3 der großen Bibliotheken werden unterstützt.
In Python änderten sich das Erscheinungsbild und der Schreibstil nicht wesentlich, selbst wenn sie sich von 2 auf 3 änderten, und es gab einen Punkt, an dem selbst Benutzer von 2 Serien, die noch nie 3 Serien verwendet hatten, problemlos lesen und schreiben konnten.
Bekannte Frameworks unterstützten Python3, so dass es den Anschein hatte, als könnten sie alle verwendet werden.
Mit ISUCON ist es notwendig, Probleme in kurzer Zeit zu lösen, und wir möchten, dass sich die Fragesteller darauf konzentrieren, sodass die Lernkosten des Frameworks niedrig sein müssen.
Flasche hängt nur von Standardbibliotheken ab. Wenn es sich um eine Standardbibliothek handelt, können Sie davon ausgehen, dass Sie damit vertraut sind, und Sie können auch Dokumente und Informationen finden.
Wenn Sie sich auf andere Bibliotheken von Drittanbietern verlassen, dauert es länger, die Verwendung und Optionen des Frameworks zu untersuchen.
CherryPy
http://cherrypy.org/
Es hatte keine Template-Engine und eine größere Anzahl und Größe von Dateien als Bottle.
Flask
http://flask.pocoo.org/
Es wurde in der Python-Implementierung in ISUCON 4 verwendet.
Es hat auch Funktionen für große Apps wie Blueprints, und der Umfang des Frameworks ist groß.
Tornado
https://github.com/tornadoweb/tornado
――Ist dein Name so gut?
Persönlich mein Lieblingsrahmen.
Da es asynchrone E / A unterstützt, eignet es sich möglicherweise für Anwendungen wie ISUCON, bei denen auf eine große Anzahl von Benchmarkern zugegriffen wird. Ich habe es jedoch nicht übernommen, weil ich die Angewohnheit hatte, asynchrone E / A effizient mit einem einzelnen Thread zu verarbeiten. Daher dachte ich, es wäre schlecht, wenn die Teilnehmer verwirrt wären.
Vielleicht ist es besser, es durch Tornado zu ersetzen, wenn Sie das letzte Problem in Python lösen.
Falcon
http://falconframework.org/
Die Geschwindigkeit scheint ein Verkaufsargument zu sein.
Der Maßstab war groß.
Django
https://www.djangoproject.com/
Ich fand es zu schwer.
Pyramid
http://www.pylonsproject.org/
Ich dachte, es würde irgendwie nicht zu ISUCON passen.
Recommended Posts