_hkl: PHP-Array contra String

Beitrag lesen

Hello,

Das mess ich deutlich anders.

Wenn ich mit einem Array arbeite dass den String bereits enthält(!)

Wie leigt denn cer String in dem Array? Jedes Zeichen in einem anderen Element?

Ja, das hab ich mit str_split() gemacht; siehe unten.
Nicht mit array($str)... ;-)

Wir sprechen auch beide von PHP?

;-)
Siehe meine Daten zur Testumgebung.

und einem String dessen Länge bereits ermittelt wurde ist das Array ziemlich konstant 10% schneller _durchlaufen_.

Du meinst den sequenziellen Zugriff? Zeichen für zeichen der Reihe nach?
Also im gegenpart zum wahlfreien Zugriff?

Ja, das hat mich auch mehr als überrascht.
Über den Grund kann ich auch nur raetseln.
Billiger als ein mit O=const zu errechnendes Displacement kann ein Tree wohl kaum sein. Ich vermute dass es an der Allokation liegt.

Wenn man die Zeit zur Konvertierung _von_ einem String in ein Array
( mittles str_split() ) miteinrechnet stimmen Deine Zahlen.

Nö sowas meinte ich nicht.

Zur Messung gehören natürlich nicht nur das sequenzielle Durchlaufen, sondern auch random Access und Kopieraktionen.

Hier ging's um den Vergleich mit foreach.
Das entspricht der Funktion eines einfachen Forward-Iterators.

Allerdings stellt sich die Frage ab wann diese Konvertierung dennoch rentiert wenn man das Array mehrfach durchläuft.
Das kann gerade bei sehr grossen Strings naturgemäss öfters Sinn machen.

Und was ist mit rückwärts?

Kann ausser Ansatz bleiben, siehe vor. Abschnitt.

Nur als Zusatzfrage:
Und wie sieht es mit dem Speicherverbrauch aus?

Der ist zumindest grösser, genaue Zahlen wird der/die FragestellerIn wohl sowieeo selbst ermitteln ( müssen),

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

Grüssse

hkl

0 48

effektive coden

ich
  • php
  1. 0
    Spächterle
    1. 0
      ich
      1. 0
        Spächterle
        1. 0
          Tom
          1. 0
            Spächterle
            1. 0
              Tom
              1. 0
                ich
                1. 0

                  for vs. foreach

                  _hkl
                2. 0
                  Sven Rautenberg
                  1. 0
                    _hkl
                3. 0

                  PHP-Array contra String

                  Tom
                  1. 0
                    _hkl
                    1. 0
                      Tom
                      1. 0
                        _hkl
                        1. 0
                          Tom
                          1. 0

                            Liegt's an der Konkatenierung ?

                            _hkl
                            1. 0
                              Tom
                              1. 0

                                i386 Speichermodell

                                _hkl
                                • programmiertechnik
            2. 0

              ...und Erbsen zählen ( oder Schafe )

              _hkl
              • menschelei
  2. 0

    Performance testen

    Tom
  3. 0
    Mathias Brodala
    1. 0

      Performance steigern

      Tom
      1. 0
        Beat
        1. 0
          Tom
    2. 0
      Blaubart
    3. 0
      Andreas Görtz
      1. 0
        seth
        1. 0
          Andreas Görtz
  4. 4
    Blaubart
  5. 0
    Erik
    1. 0

      code-layout und -performance

      seth
      • meinung
  6. 0
    Gunnar Bittersmann
  7. 0
    _hkl
  8. 0
    dedlfix
  9. 0
    Spider
  10. 0
    Tobias Kloth
  11. 1
    King^Lully
    1. 0

      effizient antworten

      _hkl
      • menschelei
      1. 0
        King^Lully
        1. 0
          King^Lully
          1. 0
            King^Lully
            1. 0
              _hkl
              1. 0
                King^Lully
                1. 0

                  Empathie und Kekse

                  _hkl
          2. 0
            Der Martin
        2. 0
          Der Martin
          1. 0
            King^Lully