Ankündigung

Einklappen
Keine Ankündigung bisher.

"Gruppenbruch" Verbesserungsvorschlag

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

  • "Gruppenbruch" Verbesserungsvorschlag

    Hallo,

    also ich kenne den sogenannten "Gruppenbruch" eher unter den Name "Gruppenwechsel". Aber tut ja nicht wirklich etwas zur Sache, wir reden ja vom Gleichen. Zu diesem Beitrag hätte ich ein paar Verbesserungsvorschläge:
    1. Ergänzung zum Prinzip: Man wendet diese Technik vornehmlich an, wenn man wenig Hauptspeicher zur Verfügung hat und auf Objekte verzichten muss bzw. kann.
    2. Bei Abschnitt "Bruch nach Vergleichskriterium": Die Untergruppen werden in der Regel mit verschachtelten Schleifen gelöst und nicht mit if´s. Das heißt im Pseudo Code ausgedrückt in etwa so:
    Code:
    Zeile <= lese Zeile aus Datei
    
    solange Zeile != EOF
        solange gruppenkriterium1
            solange gruppenkriterium1 und gruppenkriterium2
                Verarbeitung...
                Zeile <= lese Zeile aus Datei
            schleifenende
        schleifenende
    schleifenende
    Also beim Stromzähler wäre beispielsweise Gruppenkriterium 1 der Tag und Gruppenkriterium2 die Stunde, wenn wir von einen minütlichen Wert ausgehen.

    Bin mir nicht sicher, ob ich das gleich als Verbesserungsvorschlag einreichen sollte. Deswegen hier erstmal zur Diskussion^^


    MFG derwunner


  • #2
    1. Ergänzung zum Prinzip: Man wendet diese Technik vornehmlich an, wenn man wenig Hauptspeicher zur Verfügung hat und auf Objekte verzichten muss bzw. kann.
    Das ist mir neu.

    2. Bei Abschnitt "Bruch nach Vergleichskriterium": Die Untergruppen werden in der Regel mit verschachtelten Schleifen gelöst und nicht mit if´s. Das heißt im Pseudo Code ausgedrückt in etwa so:
    Andere Art der Implemenation, kann man ergänzen jo
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      PHP-Code:
      Abbildung einer Zwischenstruktur auf Arrays
      Als Nachteil ergibt sich
      dass alle Daten nochmals gespeichert und nicht direkt verarbeitet werdenDas ist besonders kritisch für sehr große Datenmengen
      Das ist nicht richtig.

      Bei einer Rückgabemenge die z.B. aus Objekten besteht arbeitet man grundsätzlich immer mit Referenzen die keinen zusätzlichen Speicherplatz benötigen. Bei skalaren Datentypen benutzt php intern einen copy-on-write Mechanismus mit Referenzenzähler (http://php.net/manual/en/internals2.variables.intro.php) d.h. die Variable wird erst dann tatsächlich neugeschrieben und belegt damit zusätzlichen Speicherplatz, wenn sie verändert wird. Wenn man beim Ändern der Variablen keine Kopien haben will, dann kann natürlich auch hier mit Referenzen gearbeitet werden. Das Einzige das hier zusätzlichen Speicherplatz belegt sind tatsächlich nur die array-keys.

      VG
      Jack
      -

      Kommentar


      • #4
        jack88 du hast es falsch verstanden. Solche Bausteine werden in der Regel nur in cursor/pointer Verfahren als Datenquelle angewendet. Also gibt es folglich auch gar kein Array und keine Objekte.

        Kommentar


        • #5
          derwunner Ich habe das schon richtig verstanden. Mein Posting bezieht sich auf die Aussage bezüglich der Nachteile zu "Alternativen / Abbildung einer Zwischenstruktur auf Arrays"

          (http://php-de.github.io/jumpto/gruppenbruch/)


          VG
          Jack
          -

          Kommentar

          Lädt...
          X