C++ Forensoftware
-
Shade Of Mine schrieb:
Twitter hatte eine Zeitlang ernste Performanceprobleme mit jQuery. Was haben sie gemacht? Ihren Code gefixt weil er scheisse war.
eig. haben sie ihren server komplett neu in C C und nochmal C entwickelt, nachdem sie 2 bruchlandungen mit was weiß ich was für ner sprache gemacht haben.
Shade Of Mine schrieb:
Das hat alles aber nichts mit JavaScript oder Ruby zu tun.
natürlich nicht, schätzchen
mit nem trabbi gewinnst kein formel 1 rennen, auch wenn beides 'tools' sind. kann ich ja nix dafür, dass eins davon eben ein sch... tool ist
-
Quelle bzgl. Server-Rewrite?
MfG SideWinder
-
nnan schrieb:
...sondern so ein "ohne-AMP" Ding.
ohne 'LAMP' wärs dir zu dunkel?
-
SideWinder schrieb:
Quelle bzgl. Server-Rewrite?
MfG SideWinder
bin mir nicht sicher, denk das hab ich hier aufgeschnappt.
-
__-- schrieb:
SideWinder schrieb:
Quelle bzgl. Server-Rewrite?
MfG SideWinder
bin mir nicht sicher, denk das hab ich hier aufgeschnappt.
Dort steht aber quasi genau das Gegenteil von dir:
Update 5: Twitter on Scala. A Conversation with Steve Jenson, Alex Payne, and Robey Pointer by Bill Venners. A fascinating discussion of why Twitter moved to the Java JVM for their server infrastructure (long lived processes) and why they moved to Scala to program against it (high level language, static typing, functional). Ruby is used on the front-end but wasn't performant or reliable enough for the back-end.
Überhaupt wird C da nur beim HTTP-Server erwähnt, und selbst dort handelt es sich um eine hybride Ruby/C-Anwendung bei der Ruby als erstes erwähnt wird.
Wenn das deine Quelle ist ...
MfG SideWinder
-
ähm__ schrieb:
nman schrieb:
Miese Software
fängt bei einer langsamen sprache an!
Bloedsinn. Miese Software kann mit jeder Sprache anfangen. Genauso wie gute Software. Aber jeden Mist zu Fusz machen zu muessen, ist beim besten Willen kein Garant fuer gute Software. Sonst waere es eine tolle Idee, alles in Assembly zu schreiben.
leider kann man nicht alles cachen!
Nein, nur fast alles.
aha? was nimmst du da für besondere einstellungen vor?
Das haengt sehr stark vom Einsatzzweck ab.
Ich halte einfach nichts davon, ueberall 0815-LAMP-Setups aus der Dose aufzustellen, ohne den Hauch einer Ahnung von performanten Webservices zu haben und sich dann darueber zu beschweren, dass PHP und MySQL so langsam sind. Ich mag weder PHP noch MySQL, aber das geht einfach voellig am Thema vorbei.
Der Rewrite von Twitter in C ist entweder Getrolle oder ein groszes Missverstaendnis des Posters. Twitter hat natuerlich C-Software im Einsatz. Die haben aber vor allem auch eine Menge Ruby und etwas Scala, Java und einiges anderes. Die Programmiersprache ist auch bei Twitter verdammt uninteressant.
nnan schrieb:
Wenn ich einen Webservices in C++ schreiben würde, würde ich auch keine DB und Webserver verwenden, sondern so ein "ohne-AMP" Ding.
Toll. Und mehrere Jahrzehnte Forschungs- und Entwicklungszeit sowie Erfahrung wegschmeiszen fuer ein primitives selbstgeschriebenes Stueck Software, das keinem durchschnittlichen DBMS in Sachen Funktionalitaet und Zuverlaessigkeit das Wasser reichen kann. Wenn ich was wirklich simples sehr schnelles haben moechte, nehme ich einfach Redis oae. statt mir selbst was aus den Fingern zu saugen.
Wäre mal interessant zu wissen, wie schnell Google wäre, wenn es in Java geschrieben wäre.
Google verwendet doch Unmengen von Sprachen. Die haben natuerlich auch an einigen Orten Java im Einsatz. Was ist fuer Dich Google? Eines der Such-Frontends? Die Bots? Die Index-Erstellung? GMail? Google AdWords? Google AdSense? Google Analytics? Google Docs? Google Reader? Google News? Google Calendar? …
Fuer die Performance ist bei Google auch die Sprache eher uninteressant. Die Magie von Google liegt definitiv nicht in den Programmiersprachen, die dort verwendet werden.
-
Ruby is used on the front-end but wasn't performant or reliable enough for the back-end.
They moved to a messaging model, asynchronous process, 3 levels of cache, and moved their middleware to a mixture C and Scala/JVM.
switched to C memcached client for speed
-
@__--: Du solltest dir die verlinkten Dinge mal genauer ansehen. Bspw. hier: http://www.slideshare.net/Eweaver/improving-running-components-at-twitter Alles was da C ist, ist die memcached-Library. Ob sie diese wohl wegen "C" genommen haben oder wegen ihrer Cache-Fertigkeiten?
MfG SideWinder
-
Shade Of Mine schrieb:
Rails hat zB Performance Probleme (oder hatte, ka wie gut die neuen Rails versionen sind) - aber das Problem war dabei nicht Ruby, sondern es gelang ihnen nicht Rails gut skalieren zu lassen.
Die Geschichte mit der Skalierbarkeit von Rails hoert man oft. Haeufig in Zusammenhang mit Twitter, was eigentlich nicht so spannend ist.
Aus meiner Erfahrung:
- Active Record macht haeufig Schwierigkeiten. Weil es die DB haeufig zu weit wegabstrahierte und dann viele Entwickler mit Ruby-Code an irgendwelchen Models herumhantierten. Das ist aber natuerlich toedlich und skaliert ueberhaupt nicht, weil ohne Active Record dieser Code nicht zu DB-Queries uebersetzt werden kann. Und wenn man dann mal versehentlich Millionen von Ruby-Objekten im Speicher anlegt, dann skaliert das natuerlich nur sehr beschraenkt.
- Es gibt immer wieder Leute da drauszen, die ihre Rails-Software direkt auf Webrick oae. laufen lassen. Der ist aber nur zur Entwicklung gedacht, nicht fuer den Produktivbetrieb. Zum Entwickeln ist er auch toll, aber die Performance ist eine Katastrophe.
- Rails-Software ist schwerer zu deployen als 0815-LAMP-Zeug. Letzteres kann jeder weil die Default-Configs jeder GNU/Linux-Distro dafuer halbwegs passen. Mit Rails ist sowas viel schwerer.
- Rails 3 ersetzt Active Record durch Active Relation. Das sieht ziemlich cool aus und sollte schwerer falsch zu benutzen sein als Active Record. Ich habe damit bis dato keine Praxis-Erfahrung, aber konzeptuell duerfte das fuer viele Anwendungszwecke wesentlich sauberer und praktischer sein.
Ansonsten skaliert Rails nicht besser oder schlechter als andere Webframeworks auch.
-
SideWinder schrieb:
Alles was da C ist, ist die memcached-Library.
es war doch die rede von einem "C memcached client", keine ahnung, wo sie den verbauen. aber es sollte doch klar werden, dass dies ein in c entwickelter client ist, der memcached verwendet.
-
nman schrieb:
nnan schrieb:
Wenn ich einen Webservices in C++ schreiben würde, würde ich auch keine DB und Webserver verwenden, sondern so ein "ohne-AMP" Ding.
Toll. Und mehrere Jahrzehnte Forschungs- und Entwicklungszeit sowie Erfahrung wegschmeiszen fuer ein primitives selbstgeschriebenes Stueck Software, das keinem durchschnittlichen DBMS in Sachen Funktionalitaet und Zuverlaessigkeit das Wasser reichen kann. Wenn ich was wirklich simples sehr schnelles haben moechte, nehme ich einfach Redis oae. statt mir selbst was aus den Fingern zu saugen.
Wäre mal interessant zu wissen, wie schnell Google wäre, wenn es in Java geschrieben wäre.
Google verwendet doch Unmengen von Sprachen. Die haben natuerlich auch an einigen Orten Java im Einsatz. Was ist fuer Dich Google? Eines der Such-Frontends? Die Bots? Die Index-Erstellung? GMail? Google AdWords? Google AdSense? Google Analytics? Google Docs? Google Reader? Google News? Google Calendar? …
Fuer die Performance ist bei Google auch die Sprache eher uninteressant. Die Magie von Google liegt definitiv nicht in den Programmiersprachen, die dort verwendet werden.
Google ist die Suchmaschine die mir schnell Ergebnisse liefert.
Die Magie von Google ist wohl auch mal auf die "Jahrzehnte Forschung" der DBs zu verzichten und sich was ordentliches zu schreiben. http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/de//papers/bigtable-osdi06.pdf
Die Sprache ansich ist meistens nicht das entscheidende, aber sie bringt immer ne Menge Sachen mit. Je mehr Abstraktionsschichten mit kommen, desto langsamer wird es meistens und irgendwann ist es mindestens genauso kompliziert oder noch komplizierter das Zeugs richtig zu verwenden, wie du ja mit Rails anscheinend schon gemerkt hast, als sich ne Speziallösung zu schreiben.
-
Wobei eine Forensoftware nicht gerade dieselbe Datenmenge zu verarbeiten hat wie Google. Dementsprechend also auch keine außergewöhnlichen Maßnahmen nötig hat. Außergewöhnliche Maßnahmen überhaupt nur für außergewöhnliche Fälle. Jedes Programm als Ausnahme anzusehen halte ich für schwer fahrlässig.
MfG SideWinder
-
__-- schrieb:
SideWinder schrieb:
Alles was da C ist, ist die memcached-Library.
es war doch die rede von einem "C memcached client", keine ahnung, wo sie den verbauen. aber es sollte doch klar werden, dass dies ein in c entwickelter client ist, der memcached verwendet.
IHMO hört sich das nach jni client for jvm an, also ein API-Wrapper.
-
nnan schrieb:
Google ist die Suchmaschine die mir schnell Ergebnisse liefert.
Aehm ja. Und Kaffee ist das, was fruehmorgens macht, dass ich gut gelaunt bin. Aus der Beschreibung irgendwelche Rueckschluesse auf die technologischen Herausforderungen bei der Kaffeeproduktion ziehen zu wollen, ist nicht so praktisch, darum ist die Definition fuer den Zweck Kaese.
Die Magie von Google ist wohl auch mal auf die "Jahrzehnte Forschung" der DBs zu verzichten und sich was ordentliches zu schreiben.
Nein, die verzichten darauf nicht, sondern sehen sich die Resultate sehr genau an. Bigtable ist ja auch ein DBMS, aber eben kein traditionelles RDBMS. Im Gegensatz zu Deinem Artikel ist das aber kein einfacher Verzicht auf ein DBMS sondern ein sehr gefinkeltes DBMS, hinter dem eine Menge Forschung und viele Abstraktionen stecken.
Ich habe das Paper schon laenger gelesen, ich lese ein bisschen mehr in die Richtung. Dass die Magie von Google im Verzicht auf DBs liegt, ist genau soviel Getrolle wie der Rest Deiner Aussagen. Du liest das Zeug, das Du postest nur ungern, richtig?
(Hint: Das Dynamo-Paper koenntest Du auch noch zitieren, kommt bestimmt super.)
Ich ziehe mich wieder von hier zurueck. Diskussionen mit Menschen mit den charakteristischen Underscores und Bindestrichen im Namen oder auch deren Viert-, Fuenft- oder Sechstaccounts sind idR. Zeitverschwendung.
-
@nman diese diskussion war mal wieder typisch für dich. alles besser wissen und null plan besitzen!
-
nman schrieb:
Ich ziehe mich wieder von hier zurueck. Diskussionen mit Menschen mit den charakteristischen Underscores und Bindestrichen im Namen oder auch deren Viert-, Fuenft- oder Sechstaccounts sind idR. Zeitverschwendung.
Ja, und übe nochmal Underscores in meinem Namen zählen.
-
Bist du eigentlich so mies drauf, weil du nach Jahren noch immer nicht die Suche dieses Forums richtig zum laufen gebracht hast? Ja, ich kann auch andere beleidigen, wie du.
-
nman schrieb:
Ich ziehe mich wieder von hier zurueck. Diskussionen mit Menschen mit den charakteristischen Underscores und Bindestrichen im Namen oder auch deren Viert-, Fuenft- oder Sechstaccounts sind idR. Zeitverschwendung.
Vorallem wenn sie nichtmal die grundlegendsten Dinge wissen
Wobei ich sagen muss, einige Kommentare hier sind echt zum lachen.
-
Shade Of Mine schrieb:
nman schrieb:
Ich ziehe mich wieder von hier zurueck. Diskussionen mit Menschen mit den charakteristischen Underscores und Bindestrichen im Namen oder auch deren Viert-, Fuenft- oder Sechstaccounts sind idR. Zeitverschwendung.
Vorallem wenn sie nichtmal die grundlegendsten Dinge wissen
Wobei ich sagen muss, einige Kommentare hier sind echt zum lachen.
du hast deine inkompetenz bereits bewiesen! also wär ich an deiner stelle lieber ganz still.
-
Nein, hier http://www.c-plusplus.net/forum/235188
Wobei du __-- auch nicht der beste hier bist.