Ich möchte einen http-Proxy schreiben, der die Antworten nach einigen Regeln/Filtern, die ich konfigurieren werde, ändert. Bevor ich jedoch mit der Programmierung beginne, möchte ich sicherstellen, dass ich mit Python die richtige Wahl treffe. Später soll dieses Tool in der Lage sein, eine Vielzahl von Anfragen zu verarbeiten. Ich möchte also wissen, dass ich mich darauf verlassen kann, dass es auch dann funktioniert, wenn es darauf ankommt.
Antworten
Zu viele Anzeigen?Solange der Großteil der Verarbeitung die in Python eingebauten Module verwendet, sollte die Leistung in Ordnung sein. Die größte Stärke von Python ist die klare Syntax und die einfache Testbarkeit/Wartbarkeit. Wenn Sie feststellen, dass ein Abschnitt Ihres Codes den Prozess verlangsamt, können Sie diesen Abschnitt umschreiben und als C-Modul verwenden, während Sie den Großteil Ihres Steuercodes in Python belassen.
Wenn Sie jedoch auf der Suche nach optimiertem Python-Code sind, sollten Sie sich folgendes ansehen dieser SO-Posten .
Dies hängt mehr von der Bibliothek ab, die Sie verwenden, als von der Sprache selbst. Die verdrillt Rahmen ist bekanntermaßen gut skalierbar.
Hier ist ein proxy server beispiel in python/twisted um Ihnen den Einstieg zu erleichtern.
Fazit: Wählen Sie Ihre Tools von Drittanbietern mit Bedacht aus, und ich bin sicher, dass Sie keine Probleme haben werden.
Ja, ich denke, Sie werden feststellen, dass Python für Ihre Bedürfnisse vollkommen ausreichend ist. Es gibt eine riesige Anzahl von Web-Frameworks, WSGI-Bibliotheken usw., aus denen Sie wählen können, oder von denen Sie lernen können, wenn Sie Ihre eigenen entwickeln.
Es gibt eine interessante Beitrag über die Blog zur Python-Geschichte darüber, wie Python 1996 leistungsstarke Websites unterstützte.
Python eignet sich sehr gut für die meisten Aufgaben, aber Sie müssen Ihre Art zu programmieren ändern, wenn Sie andere Sprachen gewohnt sind. Siehe Python ist nicht Java für weitere Informationen.
Wenn das gute alte CPython nicht die gewünschte Leistung bringt, gibt es auch andere Möglichkeiten.
Wie bereits erwähnt, können Sie es in C erweitern (mit einem Tool wie Schluck o Pyrex ). Ich habe auch viel Gutes über PyPy aber bedenken Sie, dass es eine eingeschränkte Untermenge von Python verwendet. Und schließlich verwenden viele Leute psyco um die Leistung zu beschleunigen.