Guten Morgen zusammen,
ich möchte eine CLI App entwickeln, die via HTTP GET request eine Website scraped und dann, sollten bestimmte Dinge gefunden werden, via POST request Daten an eine REST API schickt.
Zu bemerken sei, dass ich an dieser Stelle nicht der einzige bin, der das so macht, sondern hundert wenn nicht sogar tausend Konkurrenten habe - also zählt wirklich jedes ms Latenz/Rechenzeit. Einen VPS mit <= 1 ms zum entsprechenden Edge Server habe ich schon.
Dazu habe ich zunächst eine NodeJS App geschrieben. Allerdings fiel mir nach einigen Rückschlagen und näherer Betrachtung auf, dass trotz HTTPS keepalive ("forever") HTTP requests recht lange brauchen.
Also habe ich als nächstes GO Lang probiert und festgestellt, dass damit die Zeiten auch nicht wirklich besser sind (auf eine Samplesize von 100 requests statistisch genormt ist es fast identisch, leicht zugunsten von Go Lang). Hier mal ein paar Werte zum Vergleich:
Nun das Merkwürdige: Ebenfalls auf 100 requests genormt ist die Chrome Konsole, wie man auch anhand einiger weniger Versuche schon fast sehen kann, reproduzierbar 150-250 ms schneller:
Nun frage ich mich: Warum? Leider ist die Chrome Konsole allein schon wegen den CORS policies bei requests zu anderen Websites und der fehlenden/umständlichen Möglichkeit zur Einbindung von Libraries natürlich eine suboptimale Runtime Umgebung. Natürlich könnte ich die Daten via Websocket aus der Konsole an NodeJS exportieren, aber das wäre auch ein wenig "Ghetto".
Viel mehr würde mich interessieren warum die Chrome Konsole hier schneller als NodeJS und Go Lang sein kann und welche Sprache da evtl. noch mithalten könnte? C++?
Bin auf Ideen und Anregungen gespannt!
Besten Dank vorab!
ich möchte eine CLI App entwickeln, die via HTTP GET request eine Website scraped und dann, sollten bestimmte Dinge gefunden werden, via POST request Daten an eine REST API schickt.
Zu bemerken sei, dass ich an dieser Stelle nicht der einzige bin, der das so macht, sondern hundert wenn nicht sogar tausend Konkurrenten habe - also zählt wirklich jedes ms Latenz/Rechenzeit. Einen VPS mit <= 1 ms zum entsprechenden Edge Server habe ich schon.
Dazu habe ich zunächst eine NodeJS App geschrieben. Allerdings fiel mir nach einigen Rückschlagen und näherer Betrachtung auf, dass trotz HTTPS keepalive ("forever") HTTP requests recht lange brauchen.
Also habe ich als nächstes GO Lang probiert und festgestellt, dass damit die Zeiten auch nicht wirklich besser sind (auf eine Samplesize von 100 requests statistisch genormt ist es fast identisch, leicht zugunsten von Go Lang). Hier mal ein paar Werte zum Vergleich:
Nun das Merkwürdige: Ebenfalls auf 100 requests genormt ist die Chrome Konsole, wie man auch anhand einiger weniger Versuche schon fast sehen kann, reproduzierbar 150-250 ms schneller:
Nun frage ich mich: Warum? Leider ist die Chrome Konsole allein schon wegen den CORS policies bei requests zu anderen Websites und der fehlenden/umständlichen Möglichkeit zur Einbindung von Libraries natürlich eine suboptimale Runtime Umgebung. Natürlich könnte ich die Daten via Websocket aus der Konsole an NodeJS exportieren, aber das wäre auch ein wenig "Ghetto".
Viel mehr würde mich interessieren warum die Chrome Konsole hier schneller als NodeJS und Go Lang sein kann und welche Sprache da evtl. noch mithalten könnte? C++?
Bin auf Ideen und Anregungen gespannt!
Besten Dank vorab!
Zuletzt bearbeitet: