Philipp Hasenfratz: Benchmark, "chomp"-Lösungen

Beitrag lesen

Halihallo zusammen

Kleines Update zum Benchmark:

BTW: Stuppi, du misst sozusagen wie schnell die drei Lösungen den
Newline erkennen. IMO auch ein spannendes Ergebnis. chomp erkennt
die Newline am schnellsten (wahrscheinlich deshalb, da es nur einen
gewissen Endstring mit dem INPUT_RECORD_SEPERATOR vergleichen müss),
regExp$ merkt ihn am zweitschnellsten (auch wieder deshalb, da die
Position durch $ bereits manifestiert ist) und regExp muss den ganzen
String nach der ersten Newline durchsuchen.

Man sieht jedoch beim Vergleichen des Benchmarks von Stuppi und mir
auch, dass chomp die Newline anscheinend auch schneller Löschen kann
(sonst wären die Verhältnisse der Durchsätze der beiden Benchmarks
konstanter). Dies lässt mich die These formulieren, dass chomp
einfach die Stringlänge anpasst und die Regular Expression-Lösungen
(auch wenn der Substring ganz am Ende des Strings ist) zeitaufwendige
Stringmanipulationen (String-Replacements) durchführen. Es ist jedoch
nur eine These...

Brave new benchmark-world :-)

BTW: Wenn jemand Lust hat, könnte man nun auch noch ein
     =~ s/\n$//o in die Lösungsliste aufnehmen. Hier wird die RegExp
     nur einmal kompiliert und sollte demnach nochmals etwas
     schneller sein als die anderen beiden RegExp's. Aber chomp wird
     wohl stets am schnellsten bleiben.

Viele Grüsse

Philipp

0 47

Socket, system und Prozess in den Hintergrund schicken

coolblue
  • perl
  1. 0

    Einen Schritt weiter

    coolblue
    1. 0
      Philipp Hasenfratz
      1. 0
        coolblue
        1. 0
          Philipp Hasenfratz
          1. 0
            coolblue
            1. 0
              Philipp Hasenfratz
              1. 0

                Eine letzte Frage... hoffentlich :-)

                coolblue
                1. 0
                  Philipp Hasenfratz
                  1. 0
                    coolblue
                    1. 0
                      Philipp Hasenfratz
                      1. 0

                        Der wirklich letzte ... :-)

                        coolblue
                        1. 0
                          Philipp Hasenfratz
                  2. 0

                    CHOMP funktioniert nicht... was mache ich falsch?

                    coolblue
                    1. 0
                      Philipp Hasenfratz
                      1. 0
                        coolblue
                2. 0
                  Struppi
                  1. 0
                    coolblue
                    1. 0
                      EisFux
                      1. 0
                        coolblue
                        1. 0
                          Struppi
                          1. 0

                            Absolut klasse !

                            coolblue
                            1. 0
                              Philipp Hasenfratz
                              1. 0
                                coolblue
                              2. 0
                                coolblue
                                1. 0
                                  Philipp Hasenfratz
                                  1. 0
                                    coolblue
                          2. 0
                            Philipp Hasenfratz
                            1. 0

                              Benchmark, "chomp"-Lösungen

                              Philipp Hasenfratz
                              1. 0
                                coolblue
                                1. 0
                                  Philipp Hasenfratz
                                  1. 0
                                    coolblue
                            2. 0
                              Struppi
                      2. 0
                        Philipp Hasenfratz
                        1. 0
                          coolblue
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              coolblue
                            2. 0

                              Fehler im Forum nachträglich korrigieren

                              EisFux
                              • zu diesem forum
                              1. 0
                                Christian Kruse
                          2. 0
                            EisFux
                        2. 0
                          EisFux
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              Philipp Hasenfratz
  2. 0
    Philipp Hasenfratz
    1. 0
      coolblue
      1. 1
        Philipp Hasenfratz
        1. 0
          coolblue