Raketenwissenschaftler: Vorschläge überprüfbar überprüft

Beitrag lesen

Moin Dedlfix:

Deine Vorschläge lesen sich, eigentlich logisch. Aber wie das so ist, sind „Glaube“ und „Messen“ für den Tekki und den Theologiestudent jeweils ganz verschiedene Begriffe. Ich messe wie folgt:

<?php

$z=1000000;

for ( $i=0; $i<$z; $i++ ) {
	$a[$i] = sin($i);
	$b[$i] = cos($i);
}

function tausch_rakete( $a, $b ) {
	$c = ( $b - $a );
}
$s = microtime( true );
for( $i=0; $i<$z; $i++ ) {
  tausch_rakete( $a[$i], $b[$i] );
}
echo "tausch_rakete:\t" . ( microtime( true ) - $s )  . PHP_EOL;

function tausch_dedlfix( $a, $b ) {
	list($a, $b) = [ $b, $a ];
}
$s = microtime( true );
for( $i=0; $i<$z; $i++ ) {
  tausch_dedlfix( $a[$i], $b[$i] );
}
echo "tausch_dedlfix:\t" . ( microtime( true ) - $s ) . PHP_EOL;

function cmp_rakete( $a, $b ) {
  if ($a > $b ) return -1;
  if ($a < $b ) return 1;
  return 0;
}
$s = microtime( true );
for( $i=0; $i<$z; $i++ ) {
  cmp_rakete( $a[$i], $b[$i] );
}
echo "cmp_rakete:\t" . ( microtime( true ) - $s )  . PHP_EOL;

function cmp_dedlfix( $a, $b ) {
  return ( $b - $a );
}
$s = microtime( true );
for( $i=0; $i<$z; $i++ ) {
  cmp_dedlfix( $a[$i], $b[$i] );
}
echo "cmp_dedlfix:\t" . ( microtime( true ) - $s )  . PHP_EOL;

… und erhalte diese bzw. solche Ergebnisse:

Ausgaben auf einem System mit „AMD Ryzen 7 2700 Eight-Core Processor“ und „PHP 7.2.24-0ubuntu0.18.04.4 (cli) (built: Apr 8 2020 15:45:57) ( NTS )“

tausch_rakete:  0.74383616447449
tausch_dedlfix: 0.92750906944275
cmp_rakete:     0.74426603317261
cmp_dedlfix:    0.71443104743958

Ausgaben auf einem System mit „Cortex-A72“ und „PHP 7.4.4 (cli) (built: Mar 20 2020 14:30:40) ( NTS )“

tausch_rakete:  0.17790603637695
tausch_dedlfix: 0.350172996521
cmp_rakete:     0.18490481376648
cmp_dedlfix:    0.16062998771667

Fazit:

Tatsächlich! Bezüglich des Vergleiches erscheint Deine Lösung also als etwas performanter.

0 50

Multidimensionales Array sortieren

Rabeneik
  • php
  1. 0
    Tabellenkalk
    1. 0
      Rabeneik
      1. 1
        raketenhandbuchleser
  2. 0
    Raktenhandbuchleser
    1. 0
      Rabeneik
      1. 0
        Raktenhandbuchleser
        1. 0
          Rabeneik
  3. 1
    Rolf B
    1. 0
      Rabeneik
      1. 0
        Rolf B
        1. 0

          Multidimensionales Array sortieren: Neues Array

          Rabeneik
          1. 0
            Rolf B
          2. 0
            Raketenhandbuchleser
            1. 0

              Mist! (Korrektur)

              Raketenhandbuchleser
              1. 0
                Rabeneik
          3. 0
            Rolf B
            1. 0
              Raketenhandbuchleser
              1. 0
                Rabeneik
                1. 0
                  Raketenhandbuchleser
                  1. 0
                    Rabeneik
                    1. 0
                      Raketenhandbuchleser
            2. 0
              Rabeneik
              1. 0
                Rolf B
                1. 0
                  Rabeneik
                  1. 0
                    Raketenwissenschaftler
                    1. 0
                      Rabeneik
                      1. 0

                        Danke fürs Danke!

                        Raketenwissenschaftler
                        1. 0
                          Raketenwissenschaftler
                          • zur info
                    2. 0
                      😁😁
                      • humor
                    3. 1
                      dedlfix
                      1. 1
                        Rolf B
                        1. 0
                          Der Martin
                      2. 0

                        Vorschläge überprüfbar überprüft

                        Raketenwissenschaftler
                        1. 0

                          Messfehler entdeckt und korrigiert. Erneute Messung:

                          Raketenwissenschaftler
                          1. 0
                            Raketenwissenschaftler
                        2. 1
                          dedlfix
                          1. -1
                            Raketenwissenschaftler
                            1. 0
                              Rolf B
                              1. 0
                                Raketenwissenschaftler,
                                1. 1
                                  Rolf B
                                  1. 0
                                    Raketenphilosoph
                                    1. 1
                                      Julius
                                      1. 0

                                        Über CPUs „wandernder“ Prozess

                                        Raketenphilosoph
                                        1. 0
                                          Rolf B
                                          1. 2
                                            Raketenphilosoph
                                          2. 0

                                            (sich kloppende threads)

                                            Raketenspaßverteiler
                                            • humor
                            2. 0
                              Rabeneik
                              1. 0
                                Raketenwissenschaftler
  4. 0
    TS