Ankündigung

Einklappen
Keine Ankündigung bisher.

ORM- Geschwindigkeitsverlust?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ORM- Geschwindigkeitsverlust?

    Einen schönen guten Abend,

    ich hab mich letzte Woche ins symfony-Framework
    eingelesen und es gefällt mir was ich sehe.
    Hab mich deshalb auch zwangsläufig mit ORM(Doctrine/Propel) beschäftigt.

    Mir leuchtet ein, dass dieses Konzept sinnvoll ist.
    Aber wird durch ORM die Anwendung nicht langsamer?
    Es wird ja schließlich alles abstrahiert und in Objekte umgewandelt.

    Ich habe vor, in nächster Zeit ein paar größere Projekte mit Symfony anzugehen.
    Was empfehlt ihr mir bezüglich ORM (in Symfony)? Gibt es theoretisch keinen
    Geschwindigkeitsverlust?

    Mfg
    Robert


  • #2
    Natürlich gibt es immer einen Geschwindigkeitsverlust wenn du eine weitere Abstraktionsebene einfügst. Oftmals ist dies aber nicht so gravierend als, dass man auf die Vorteile von ORM verzichten möchte.

    Sollten es wirklich mal kritische Abfragen geben kann man immer noch auf Caching setzen, sollte dies auch nicht möglich sein kannst du deine Abfragen ja immer noch "per Hand" schreiben und somit auf den Overhead von ORM verzichten.

    Kommentar


    • #3
      Vieles macht eine Applikation langsamer, sei es durch die parse-zeit der ganzen zusätzlichen Dateien, ungenutzer aber ausgeführter Code, sei es eine Bibliothek die eigentlich viel mehr kann als man nutzt, ein Framework, ein ORM-System, ...

      Man muss aber dabei ganz einfach abwägen was ist relevanter ? Wie viel Performance verliere ich im gesamten ? Und fällt der Performance-Verlust spürbar auf ? Was spare ich auf der anderen Seite an Arbeitszeit im Vergleich zu "alles selbst machen" ?

      Wenn es was die Performance angeht bedeutet ich brauch jetzt nen weiteren Server anstatt dem/denen die ich vorher hatte, rechtfertigen die Arbeitsstunden die man spart die Kosten für einen weiteren Server ?

      Ausserdem spielt eine wichtige Rolle auch, auf was für Systemen man seinen Code später laufen lässt.
      Ist es der 08/15-Webspace beim Hoster ?
      Oder ein (root|managed|V)-Server wo auch ein Bytecode-Cache wie APC, Xcache oder ähnliches läuft. Denn solche Bytecode-Caches können größere Applikationen mit vielen einzelnen Klassen/Dateien durchaus ein gutes Stück beschleunigen, dass z.b. der Overhead an Performance und Speicherverbrauch durch das parsen der vielen Dateien sehr stark verringert wird.
      robo47.net - Blog, Codeschnipsel und mehr
      | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

      Kommentar


      • #4
        ok alles klar.
        Danke für eure Hilfe

        Kommentar


        • #5
          Viel mehr als die Performance ist oftmals - speziell von den großen ORMs - der Ressourcenverbrauch beim Arbeitsspeicher und beim inkludieren von Dateien. Bei einer hinreichend komfortabel ausgestatteten Hardware ist das nicht unbedingt ein Problem, bei einem Standard-Webhoster schon eher..

          Kommentar


          • #6
            Okay gut zu wissen
            Denkt ihr, dass wirklich große Seiten(google,facebook,digg...) ORM benutzen?

            Gruß Robert

            Kommentar


            • #7
              Kommt auf die Stellen drauf an. Sicherlich wird nicht überall ORM genutzt, aber ich denke es wird durch aus auch genutzt.

              Kommentar


              • #8
                google mal nach YQL und FQL. FQL zeigt ganz gut, dass man querys auch mit einem schicken Rechtemanagement versehen kann.

                Sicherheit ist wichtig!

                ORM ist nicht gleich immer ORM, abtraktionen haben viele vorteile, grade wenn man im großen plant und nicht von einem server redet.

                Kommentar


                • #9
                  danke für die tipps!

                  Danke für den Link notyyy, sehr interessant !

                  Kommentar

                  Lädt...
                  X