TS: Arrays, Vergleich statischer und dynamischer Datenhaltung

Beitrag lesen

Hello,

Es liegt hauptsächlich am Schreibzugriff - "copy-on-write" in den PHP-Arrays. Danke für die Erinnerungsstütze bezüglich der Bezeichnung.

was nicht wirklich überraschend ist: Der Kopiervorgang braucht etwas Zeit. Nicht viel, aber bei jedem ersten Schreiben auf ein Arrayelement ein bisschen.

Klar, eben dynamische Speicherverwaltung mit all ihren indirekten Zugriffen.

Die Berechnung der Min/Max-Werte und deren textliche Ausgabe dauert aber nach der

  • alten Methode (Ausführungszeit: 5.1807448863983sec)
  • nach der geänderten Methode(Ausführungszeit: 4.7937939167023sec)

Das ist nur ein Indiz und der Umbau war auch nur notwendig, damit später für den eigentlichen Vergleich zumindest ähnliche Rahmenbedingungen möglich sind.

Also nahezu gleich lang. Hey, das sind nicht einmal 10% Unterschied, wird also einem durchschnittlichen Nutzer nicht auffallen.

Beide laden zunächst die Datei mit file(). Das funktioniert überraschenderweise allerdings auch in Nullkommanix.

Auch das finde ich nicht überraschend. Die PHP-Funktion file() ist in (mutmaßlich) sehr effizient geschriebenem C realisiert.

Gespannt bin ich auf die Stringvariante, die dem klassischen statischen Array dann am nächsten kommt.

Ich auch. Gespannt bin ich auch, ob sie dann wirklich praxistauglich ist, oder eher nur ein Proof of Concept.

Dass sie praxistauglich sein soll, habe ich nie behauptet. Allerdings wäre es vielleicht bei ausreichendem Unterschied ein Argument für die Einführung von statischen Speicherstrukturen in PHP.

Das Problem wird sein, dass ein String (Als classic-Array-Ersatz) aus 60.000 Datensätzen auch nicht in ein Datensegment passt und PHP da im Hintergrund ohnehin schon wieder basteln muss.

Nein. Denk dran, dass wir heute 32- oder 64-bit-Systeme haben. Die 64k-Segmentgrenzen von damals sind heute bedeutungslos. Heute kann eine Software mal eben so 48MB Speicherinhalt linear direkt adressieren (nur um eine Hausnummer zu nennen).

Das beruhigt mich.

Alldings wird meine Ausgabevarable mit $out .= ... ja auch in allen Fällen in nahezu Nullzeit gefüllt und wieder gelesen Richtung Std-Out.

Was willst du damit andeuten?

Das war deine Aussage zur Speichergrenze in meinen Worten, nur als Vermutung ausgedrückt ;-)

BTW: wenn ich meine Versuchslösung optimieren wollte, würde ich mit Caching arbeiten. Da sich die alten Werte im Messdatenpool schließlich nicht mehr ändern, kann man die Berechnungen getrost in kleineren Portionen (Teildateien, z. B. eine pro Woche) cachen und die dann nach Bedarf wieder zusammenkleben. Aber das war nicht die Aufgabe dieses Teilthreads.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.
0 220

Checkboxen im PHP mit SQL

PHP-Neuling
  • html
  • php
  • sql
  1. 1
    TS
    1. 0
      PHP-Neuling
      1. 0
        Auge
        1. 0
          PHP-Neuling
          1. 0
            Felix Riesterer
            1. 0
              PHP-Neuling
              1. 0
                Der Martin
                1. 0
                  PHP-Neuling
                  1. 0
                    PHP-Neuling
                    1. 0
                      Gunnar Bittersmann
                      • html
                      • php
                    2. 1
                      dedlfix
                    3. 1
                      TS
                      1. 0
                        PHP-Neuling
                        1. 0
                          Tabellenkalk
                    4. 0
                      Felix Riesterer
                      1. 0
                        Matthias Apsel
                        1. 0
                          Felix Riesterer
                          1. 0
                            Matthias Apsel
                            1. 2
                              Felix Riesterer
                        2. 0
                          Gunnar Bittersmann
            2. 1
              TS
              1. 1
                Gunnar Bittersmann
                1. 0
                  TS
                2. 0
                  robertroth
                  1. 0
                    Der Martin
                    1. 0
                      TS
                      1. 0
                        Der Martin
                      2. 0
                        Tabellenkalk
                        1. 0
                          robertroth
                  2. 0
                    Gunnar Bittersmann
                    1. 1
                      Raketengrundradar
                    2. 0
                      TS
                      1. -1
                        Gunnar Bittersmann
                        1. 0
                          TS
                          1. 0
                            Matthias Apsel
                            1. 0
                              TS
                              1. 1
                                Auge
                            2. 0
                              Raketentheoretiker
                              1. 0
                                Gunnar Bittersmann
                                • html
                                1. 0
                                  Rolf B
                                  1. 0
                                    TS
                                    1. 0
                                      Gunnar Bittersmann
                                  2. 0
                                    Raketentheoretiker
                                    1. 0

                                      Ein paar Korrektueren

                                      Raketeningrid
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          Christian Kruse
                                      2. 0

                                        Korrektur für function setChecked()

                                        RaketenQuadratIngrid
                                    2. 1
                                      Rolf B
                                      1. 0
                                        TS
                                        • software
                                        1. 0
                                          Raketentheoretiker
                                          • javascript
                                  3. 0
                                    Gunnar Bittersmann
                              2. 1
                                Julius
                3. 1
                  Gunnar Bittersmann
              2. 0
                dedlfix
                1. 2
                  MudGuard
            3. 1

              SQL - semantischer Unterschied zwischen 0 und null

              Camping_RIDER
    2. 1
      Rolf B
      1. 0
        Mitleser
  2. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Robert B.
  3. 0

    Checkboxen im PHP mit SQL (Sicherheit)

    Raketenhacknix
    1. 0
      Raktentypokorrekturautomat
    2. 0
      PHP-Neuling
      1. 5
        Raketenede
        1. 0
          PHP-Neuling
          1. 4
            dedlfix
            1. 0
              PHP-Neuling
          2. 3
            MudGuard
  4. 0
    PHP-Neuling
    1. 0
      Rolf B
      1. 0
        PHP-Neuling
        1. 1
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    dedlfix
              2. 0
                PHP-Neuling
                1. 0
                  Felix Riesterer
                  1. 0
                    PHP-Neuling
            2. 0
              Felix Riesterer
              1. 0
                PHP-Neuling
                1. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                      1. 0
                        Felix Riesterer
                      2. 0
                        Der Martin
                      3. 0
                        dedlfix
  5. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Der Martin
        • css
        • html
        1. 0
          PHP-Neuling
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
            2. 0
              Gunnar Bittersmann
              • design
              1. 0
                Der Martin
        2. 0
          Gunnar Bittersmann
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
              1. 0
                TS
                • css
                • datenmodell
                • html
                1. 0
                  PHP-Neuling
              2. 0
                Gunnar Bittersmann
                • design
                • ux
                1. 0
                  PHP-Neuling
            2. 0
              TS
              • css
              • geschichte
              • html
              1. 0
                Gunnar Bittersmann
                • geschichte
                1. 0
                  Der Martin
                  1. 0
                    TS
                2. 0
                  TS
                  1. 0
                    Rolf B
                    1. 0
                      TS
                      • geschichte
                      • hardware
                      1. 0
                        Gunnar Bittersmann
                      2. 0
                        Der Martin
                        1. 0
                          TS
                  2. 0
                    Gunnar Bittersmann
  6. 0
    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            PHP-Neuling
            1. 0
              PHP-Neuling
              1. 0
                dedlfix
                1. 0
                  PHP-Neuling
                  1. 0
                    Rolf B
                    1. 0
                      PHP-Neuling
                      1. 0
                        PHP-Neuling
                        1. 0

                          Warnung vor der Schreibfaulheit

                          TS
                          • philosophie
                          1. 0
                            PHP-Neuling
                          2. 1
                            Der Martin
                            • programmierstil
                            1. 1
                              dedlfix
                              1. 1
                                Der Martin
                          3. 3
                            dedlfix
                            1. 0
                              MudGuard
                    2. 0
                      Der Martin
                      • php
                      • programmiertechnik
                      1. 0
                        TS
                        1. 0
                          Der Martin
                          1. 0
                            TS
                            • php
                            • programmiertechnik
                            • sicherheit
                            1. 0

                              Teilthread abgetrennt

                              TS
                              • zur info
                    3. 3
                      Waltraut von der Vogelweide
                  2. 0
                    TS
  7. 0

    rtrim UPDATE Schleife

    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            Rolf B
        2. 0
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                PHP-Neuling
                1. 0
                  Rolf B
                2. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                  2. 0
                    dedlfix
                    1. 0
                      PHP-Neuling
                      1. 0
                        dedlfix
                        1. 0
                          PHP-Neuling
                          1. 1
                            Rolf B
                            1. 0
                              PHP-Neuling
                              1. 1
                                Julius
                                1. 0
                                  Rolf B
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Tabellenkalk
                                  2. 0
                                    PHP-Neuling
                                    1. 0

                                      Gewöhn Dich dran

                                      Raktenphilosoph
                                      • sonstiges
                                      1. 0
                                        PHP-Neuling
                                    2. 0
                                      Rolf B
            2. 0
              Gunnar Bittersmann
              • php
        3. 0

          Schleife, foreach()

          TS
          • php
          1. 0
            Felix Riesterer
            1. 0
              Gunnar Bittersmann
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    Felix Riesterer
                  2. 0
                    TS
                    • humor
                    1. 0
                      Der Martin
                      1. 0
                        TS
                        • humor
                        • mathematik
                        1. 0
                          Gunnar Bittersmann
                          • programmiertechnik
                          1. 0
                            TS
                            • mathematik
                            • programmiertechnik
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                TS
                        2. 0
                          Der Martin
                          1. 0
                            Gunnar Bittersmann
                            • menschelei
                            1. 0
                              Der Martin
                              1. 0
                                Gunnar Bittersmann
                          2. 0

                            Corona-Mode

                            Raketenkröner
                            • humor
                            1. 0
                              Der Martin
                              1. 0
                                Raketenkröner
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Raketenmedizinalprophet
                                  2. 0
                                    Raketenhumordezimierer
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Raketenhumordezimierer
                                        1. 0
                                          TS
                                      2. 0
                                        Gunnar Bittersmann
                                        • politik
                                        1. 0
                                          TS
                                        2. 0
                                          Der Martin
                                          1. 0
                                            TS
                                            • humor
                                            • politik
                                        3. 0
                                          Gunnar Bittersmann
                        3. 1
                          1unitedpower
                  3. 0
                    Gunnar Bittersmann
                    1. 0
                      Der Martin
              2. 1

                Arrays

                TS
                • array
                • php
                1. 0
                  Mitleser
                  1. 0
                    TS
                    1. 0
                      Mitleser
                      1. 1
                        TS
                        1. 0
                          Mitleser
                          1. 0
                            TS
                            1. 0

                              Arrays, Vergleich statischer und dynamischer Datenhaltung

                              TS
                              • array
                              • php
                              • zur info
                              1. 1
                                1unitedpower
                                1. 0
                                  TS
                                  1. 0
                                    Der Martin
                                    1. 0
                                      TS
                                      1. 0
                                        Mitleser
                          2. 0
                            Rolf B
                            1. 0
                              TS
  8. 0
    Gunnar Bittersmann
    • moderation