Armin: Was ist sinnvoller PHP / C / C++

Hallo,

ich habe folgendes vorhaben. Ich möchte einen dauerhaften zugriff auf eine MYSQL Datenbank um dort dauerhaft auswertungen zu machen.

Jetzt ist meine erste Frage die wie ist der Geschwindigkeits unterschied ziwschen PHP C & C++ ?

Was würde Sich wohl besser eignen um einen kontunuirlichen Datenbank zugriff und auswertung der Daten eignen ?

Gruss Armin

  1. Jetzt ist meine erste Frage die wie ist der Geschwindigkeits unterschied ziwschen PHP C & C++ ?

    PHP braucht einen Interpreter, der ist in C geschrieben. Das bedeutet bereits einen Gewinn an Performance von PHP als Scriptsprache zu C/C++ als "echte" Programmiersprachen. Die Frage nach C vs. C++ läßt sich so nicht beantworten, beide haben ihre Stärken. C++ kann man allerdings pauschal als die Sprache für Desktopprogrmmierung ansehen (Objektorientierung, massenweise libs und tools usw.) Problem bei C++ ist, daß es sehr plattformabhämgig ist. Siehe auch http://forum.de.selfhtml.org/archiv/2007/4/t150196

    Was würde Sich wohl besser eignen um einen kontunuirlichen Datenbank zugriff und auswertung der Daten eignen ?

    Das ist wie mit der Henne und dem Ei, willst du eine Hühnersuppe oder ein Spiegelei?

    ~JJ

    1. Das bedeutet bereits einen Gewinn an Performance von PHP als Scriptsprache zu C/C++ als "echte" Programmiersprachen.

      Das würde ich so nicht unterschreiben. In Verbindung mit MySQL ist der Flaschenhals die Verbindung zur Datenbank. Dadurch ist der Performance-Gewinn durch compilierte Software ziemlich schnell wieder dahin.

      Das ist im Übrigen ein Erfahrungswert. Meine erste Communitysoftware war in C geschrieben, die nächste Version dann in PHP (um sie auf gemieteten Webspace ebenfalls nutzen zu können). Der Geschwindigkeitsunterschied war beim Benchmark praktisch null, weil beide Varianten immer auf die Daten aus der Datenbank warten mussten.

  2. dauerhaften
    kontunuirlichen Datenbank zugriff

    was jetzt? - mysql unterscheidet da ob du eine verbindung dauerhaft aufrecht erhältst oder immer wieder trennst und kontinuierlich - sagen wir alle 5 minuten neu aufbaust und wieder trennst

    php/c++ dürfte hübsch egal sein, kommt halt drauf an was du machst - um webseiten auf einem webserver auszuspucken hast du mit php sicher mehr freude, performanter ist natürlich (?) c++, da die sprache nicht in echtzeit interpretiert werden muss

    datenbank verbindungen zu mysql sind in beiden sprachen nicht sonderlich schwierig

  3. ich habe folgendes vorhaben. Ich möchte einen dauerhaften zugriff auf eine MYSQL Datenbank um dort dauerhaft auswertungen zu machen.

    Was heißt dauerhaft? In welcher Umgebung?

    Jetzt ist meine erste Frage die wie ist der Geschwindigkeits unterschied ziwschen PHP C & C++ ?

    Du kannst diese Sprachen nicht vergleichen, jede hat ihre Nach- und Vorteile. Es kommt darauf an, wo du diese konkret anwenden willst.

    Und Geschwindigkeit wird wohl eher auf der SQL Seite zu holen sein, als bei der Programmiersprache.

    Struppi.

  4. Hallo

    Ich möchte einen dauerhaften zugriff auf eine MYSQL Datenbank um dort

    was verstehst Du unter einem "dauerhaften Zugriff"?

    dauerhaft auswertungen zu machen.

    was verstehst Du unter "dauerhaften Auswertungen"?

    Jetzt ist meine erste Frage die wie ist der Geschwindigkeits unterschied ziwschen PHP C & C++ ?

    Messe die erforderliche Zeit bei _Deiner_ Anforderung. Es gibt Abfragen, da ist die Verarbeitungszeit beim Client (fast) völlig irrelevant, da der DB-Server der Flaschenhals ist.

    Was würde Sich wohl besser eignen um einen kontunuirlichen Datenbank zugriff und auswertung der Daten eignen ?

    Ada, BASIC, C#, Delphi, Eiffel und Fortran fallen mir spontan ein :-)

    Freundliche Grüße

    Vinzenz

  5. Hi Armin!

    ich habe folgendes vorhaben. Ich möchte einen dauerhaften zugriff auf eine MYSQL Datenbank um dort dauerhaft auswertungen zu machen.

    Definiere dauerhaft.

    Jetzt ist meine erste Frage die wie ist der Geschwindigkeits unterschied ziwschen PHP C & C++ ?

    Das ist im Einzelfall sicher unterschiedlich, aber generell:
    C > C++ > PHP (mit > = "schneller in der Ausführungszeit")

    Aber ganz ehrlich, in der heutigen Zeit mit der heutigen Technik lohnt es sich nur in Extremfällen, die Programmiersprache wegen der Schnelligkeit auszuwählen. Wichtiger sind Wartbarkeit, Erweiterbarkeit und Flexibilität.

    Was würde Sich wohl besser eignen um einen kontunuirlichen Datenbank zugriff und auswertung der Daten eignen ?

    Das kommt darauf an. Mir fallen da schon ein paar Punkte ein, die vorher geklärt werden müssten:

    • Serverausstattung
    • Programmierkenntnisse
    • finanzielle Möglichkeiten
    • Einsatzzweck
    • Flexibilität
    • Wartbarkeit

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hello,

      Aber ganz ehrlich, in der heutigen Zeit mit der heutigen Technik lohnt es sich nur in Extremfällen, die Programmiersprache wegen der Schnelligkeit auszuwählen. Wichtiger sind Wartbarkeit, Erweiterbarkeit und Flexibilität.

      Und wie sieht es mit Benutzeroberfläche aus?
      Da gibt es in C# oder Visual C++ doch schon eine ganze Menge.

      Allerdings habe ich neulich gelesen, dass es da für PHP-Konsolenanwendungen auch einen Baukasten geben soll. Leider habe ich den Namen nicht aufgeschrieben.

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hi Tom!

        Und wie sieht es mit Benutzeroberfläche aus?

        Richtig, das fehlt auch noch. =)
        Aber ich gehe mal davon aus, dass es inzwischen für jede halbwegs brauchbare Programmieresprache (mindestens) eine vernünftige IDE gibt.

        Allerdings habe ich neulich gelesen, dass es da für PHP-Konsolenanwendungen auch einen Baukasten geben soll. Leider habe ich den Namen nicht aufgeschrieben.

        Delphi for PHP ist das einzige, was ich kenne. Habe mich aber noch nicht damit beschäftigt und glaube auch nicht, dass ich es in naher Zukunft tun werde.

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  6. Hallo, Ich danke euch für eure WIRKLICH schnellen antworten.

    Aslo was verstehe ich unter Dauerhaft ?
    Dauerhaft ist für mich ->

    Es wird auf die MySQL Datenbank zugegriffen. Mehrere Einträge werden Verglichen, andere einträge werden dann nach dem Vergleich wieder verändert.

    Dann kommt das Script am ende an. Wenn es am Ende angekommen ist startet es wieder von oben und Schaut jetzt wieder nach und macht wieder erneute Vergleiche und Änderungen.

    Das halt Dauerhaft, 24 Std am Tag ohne einmal beendet zu werden.

    Es Soll sich nur immer um Die einträge in der Datenbank kümmern die momentan Aktuell sind. Also das Script schaut so aus das es hinter Jeden eintag eine Spalte hat mit "Letzte Änderung" (da kommt dann ein time() rein) dann holt sich das Script alle einträge die Älter sind als zb 10 Minuten und macht dort die Asuwertung ... dann ändert es den eintrag "Letzte änderung" wieder ab mit der Aktuellen zeit und schnappt sich den nächsten eintrag

    und das immer die ganze zeit lang.

    Meine Programmierkenntnisse belaufen sich momentan nur auf PHP alles andere müste ich erlernen (was allerdings nicht das Problem sein sollte da ich welche kenne die sich damit beschäftigen)

    Die Ausstattung des Servers, es ist in der Testumgebung nur ein V-Server
    in der Realen umgebung allerdings nen DualCore what ever ...

    Als Betriebssystem wird Linux (Debian 4.0) eingesetzt.

    1. Dauerhaft ist für mich ->

      Es wird auf die MySQL Datenbank zugegriffen. Mehrere Einträge werden Verglichen, andere einträge werden dann nach dem Vergleich wieder verändert.

      Dann kommt das Script am ende an. Wenn es am Ende angekommen ist startet es wieder von oben und Schaut jetzt wieder nach und macht wieder erneute Vergleiche und Änderungen.

      Das halt Dauerhaft, 24 Std am Tag ohne einmal beendet zu werden.

      Das ist eine Endlosschleife. Die kannst du mit PHP genauso gut produzieren wie mit den anderen von dir genannten Sprachen und die Geschwindigkeit hängt, wie schon erwähnt, fast überwiegend von der Geschwindigkeit des SQL Servers und der Qualität der Abfragen ab.

      Struppi.

      1. Hallo Armin,

        Es wird auf die MySQL Datenbank zugegriffen. Mehrere Einträge werden Verglichen, andere einträge werden dann nach dem Vergleich wieder verändert.
        Dann kommt das Script am ende an. Wenn es am Ende angekommen ist startet es wieder von oben und Schaut jetzt wieder nach und macht wieder erneute Vergleiche und Änderungen.
        Das halt Dauerhaft, 24 Std am Tag ohne einmal beendet zu werden.

        Das ist eine Endlosschleife. Die kannst du mit PHP genauso gut produzieren wie mit den anderen von dir genannten Sprachen und die Geschwindigkeit hängt, wie schon erwähnt, fast überwiegend von der Geschwindigkeit des SQL Servers und der Qualität der Abfragen ab.

        nimm alles außer PHP. Bei meinem letzten bug report ist mir einmal mehr aufgefallen, dass die Dev dort ihren eigenen scource code nicht kennen, sodass Flexibilität und Wartbarkeit (das Doping für PHP in diesem Rennen) manchmal auch gegen die möglichen Fehler in der Sprache aufgewogen werden muss. ;(

        Gruß aus Berlin!
        eddi

        --
        Programmiersprache? Vertrauenssache!
        1. nimm alles außer PHP. Bei meinem letzten bug report ist mir einmal mehr aufgefallen, dass die Dev dort ihren eigenen scource code nicht kennen, sodass Flexibilität und Wartbarkeit (das Doping für PHP in diesem Rennen) manchmal auch gegen die möglichen Fehler in der Sprache aufgewogen werden muss. ;(

          Nimm blos kein Linux oder gar Windows, schlimmer noch Mac OS, die Devs dort kennen nicht mal ihren Quellcode.

          Du erkennst den Dummfug, den du erzählst? Welcher Programmierer hat 6MB Quellcode im Kopf?

          1. Hallo,

            nimm alles außer PHP. Bei meinem letzten bug report ist mir einmal mehr aufgefallen, dass die Dev dort ihren eigenen scource code nicht kennen, sodass Flexibilität und Wartbarkeit (das Doping für PHP in diesem Rennen) manchmal auch gegen die möglichen Fehler in der Sprache aufgewogen werden muss. ;(

            Nimm blos kein Linux oder gar Windows, schlimmer noch Mac OS, die Devs dort kennen nicht mal ihren Quellcode. Welcher Programmierer hat 6MB Quellcode im Kopf?

            der, der gewissenhaft Fehler bearbeitet, macht sich vorab vertraut mit den Grundlagen weil er den Fehler verstehen will, um ihn zu beheben. Aber vielleicht hast Du recht und es ist Mode geworden, Maulwürfe nach dem Weg zu fragen, denen man dann vor Ihrer Blendung Ihre eigens konzipierte Landkarte erklären muss.

            Du erkennst den Dummfug, den du erzählst?

            1. der, der gewissenhaft Fehler bearbeitet, macht sich vorab vertraut mit den Grundlagen weil er den Fehler verstehen will, um ihn zu beheben....

              Hast du in deinem Leben mal ein Projekt in der Grössenordnung wie PHP mitgearbeitet? Deinem Schreiben nach würde ich sagen, nein.

              1. Re:

                der, der gewissenhaft Fehler bearbeitet, macht sich vorab vertraut mit den Grundlagen weil er den Fehler verstehen will, um ihn zu beheben....
                Hast du in deinem Leben mal ein Projekt in der Grössenordnung wie PHP mitgearbeitet?

                Nein. Jedoch ist gewissenlose Ausführung kein adäquater Bezugspunkt, weil er einer Diskussion über Erfahrung vorab die Grundlage entzieht. ^,-

                Gruß aus Berlin!
                eddi

                --
                Diese Nachricht ist made in Rixdorf und wurde mittels 100% recycelter Elektronen verfasst.
                Und der Strom? Äh - kommt aus der Steckdose! :)
                1. Nein. Jedoch ist gewissenlose Ausführung kein adäquater Bezugspunkt, weil er einer Diskussion über Erfahrung vorab die Grundlage entzieht. ^,-

                  Es geht mir darum, dass du verstehst, das es völlig unmöglich ist, das ein Programmierer bei einem Projekt in dieser Grössenordnung den Quelltext komplett im Kopf hat (also "kennt").
                  Da kannst du auch bei Siemens anrufen und nachfragen ob die alle Telefone der letzten 10 Jahre erklären können. Völlig unrealistisch.

                  Aber lassen wir das. Solange du noch nicht bei einem solchen Projekt mitgearbeitet hast, kannst du sowas nicht beurteilen. Und wenn du der Meinung bist, sowas ist ein Grund, etwas nicht zu nutzen, dann frag ich mich, welches Auto du fährst, welches Betriebssystem du nutzt, woher deine elektronischen Geräte kommen usw.

                  Denn _alle_ diese Dinge kommen aus Firmen, deren Support unmöglich alle Geräte kennen kann, die verkauft werden, und das ist IMO exakt das Gleiche, wenn ein Supporter nicht den kompletten Code kennt, der von tausenden Programmierern entwickelt wird und dessen Umfang das normale Fassungsvermögen eines Gehirns überschreitet.

                  1. Nein. Jedoch ist gewissenlose Ausführung kein adäquater Bezugspunkt, weil er einer Diskussion über Erfahrung vorab die Grundlage entzieht. ^,-

                    Es geht mir darum ...

                    ...verbohrt begreiflich zu machen, wo nichts zu begreifen ist? Wenn ich einen Fehler bei einem Projekt einbringe, erwarte ich nicht, dass ich erst darum kämpfen muss, den Leuten ihren eigenen Quellcode vorhalten muss, um ihre dümmliche Argumentation zum Einsturz zubringen, damit man den Fehler beginnt zu begreifen. Wer bug reporter als Querulanten ansieht und sie dementsprechend behandelt, fragt sich auch nach Fassaden, wie Autos und Elektrogeräte, am Wesenskern vorbei.

                    Du erkennst den Dummfug, den du erzählst?

                    1. Wenn ich einen Fehler bei einem Projekt einbringe, erwarte ich nicht, dass ich erst darum kämpfen muss, den Leuten ihren eigenen Quellcode vorhalten muss, um ihre dümmliche Argumentation zum Einsturz zubringen, damit man den Fehler beginnt zu begreifen. Wer bug reporter als Querulanten ansieht und sie dementsprechend behandelt, fragt sich auch nach Fassaden, wie Autos und Elektrogeräte, am Wesenskern vorbei.

                      Diese Aussage ist eine völlig andere, als die, auf die ich bezogen habe. Ich bezog mich auf deine Aussage

                      nimm alles außer PHP. Bei meinem letzten bug report ist mir einmal mehr aufgefallen, dass die Dev dort ihren eigenen scource code nicht kennen, ...

                      Auf deine letzte Aussage hin gebe ich dir völlig Recht. Ähnliches ist mir aktuell mit MythTV passiert. Ich wurde von einem Dev so hingestellt, als wenn ich zu blöd wäre den Rechner richtig einzuschalten, weil deren Software wahllos Aufnahmen gelöscht hat (Dieser Bug ist seit längerem bekannt, wird aber als proritätslos schlichtweg ignoriert). Allerdings hat deine letzte Aussage nur sehr wenig mit deiner ersten zu tun und dadurch haben wir vermutlich aneinander vorbeigeredet. Ich denke, jetzt ist die Sache klargestellt ;)

                      1. Re:

                        Wenn ich einen Fehler bei einem Projekt einbringe, erwarte ich nicht, dass ich erst darum kämpfen muss, den Leuten ihren eigenen Quellcode vorhalten muss, um ihre dümmliche Argumentation zum Einsturz zubringen, damit man den Fehler beginnt zu begreifen. Wer bug reporter als Querulanten ansieht und sie dementsprechend behandelt, fragt sich auch nach Fassaden, wie Autos und Elektrogeräte, am Wesenskern vorbei.

                        Diese Aussage ist eine völlig andere, als die, auf die ich bezogen habe.

                        Das ist mir klar geworden, worin Du Dich verrannt hast.

                        Ich bezog mich auf deine Aussage

                        nimm alles außer PHP. Bei meinem letzten bug report ist mir einmal mehr aufgefallen, dass die Dev dort ihren eigenen scource code nicht kennen, ...

                        Ja, wenn man in Pauschalen denkt, ist in dieser Aussage auch eine Pauschale zu sehen. Ich sehe es aber als Exzerpt, der nur die Spitze des Eisbergs beschreibt und in dem Sinne oben beschriebenes beinhaltet.

                        Auf deine letzte Aussage hin gebe ich dir völlig Recht.

                        Lass uns doch einfach drüber reden, dann kann man auch was klären. ;)))

                        Ich habe über die Jahre mit PHP und den gemeldeten bugs meine Erfahrungen sammeln müssen. So bin ich auch nicht derjenige, der einfach nur oberflächlich moniert. Ich mache mich mit dem Quellcode vertraut (das sind nie mehr als 100 kb relevanten Codes gewesen) und versuche nach meinen Möglichkeiten zu verstehen, wo es hakt. Verbeißende Standardaussagen à la "Geht nicht" muss ich mich ja auch erwehren können. Schöner nur wäre, wenn ein Developer das gleiche tut und Hilfe bedingungslos erkennen kann, statt Pauschalen wie Projekterfahrung als Messlatte Helfenden verhängt.

                        So genug I/O zum Thema!

                        Gruß aus Berlin!
                        eddi

                        --
                        Diese Nachricht ist made in Rixdorf und wurde mittels 100% recycelter Elektronen verfasst.
                        Und der Strom? Äh - kommt aus der Steckdose! :)