login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ping

Offline delta_004 - 06/09/2005 20:42
Avatar van delta_004Onbekend He
Welke ping is sneller?
$Ping = shell_exec ('ping -l 1 -n 1 -w 2 ' . $n);
$Ping = shell_exec ('ping -l 1 -n 1 ' . $n);
De bovenste is van lightblade en onderste van mij
En waarom is die sneller?
Alvast bedankt

14 antwoorden

Gesponsorde links
Offline Maarten - 06/09/2005 20:43
Avatar van Maarten Erelid Test hem uit..
Offline delta_004 - 06/09/2005 20:57
Avatar van delta_004 Onbekend uh en hoe weet ik de resultate
Offline nemesiskoen - 06/09/2005 21:01
Avatar van nemesiskoen Gouden medaille

PHP expert
Dit heb ik van murfy geleerd:p

  1. <?php
  2. $var = microtime();
  3. DOE actie 1:
  4. $var2 = microtime();
  5. $aantal1 = $var2 - $var;
  6. unset($var);
  7. unset($var2);
  8. $var = microtime();
  9. DOE actie 2:
  10. $var2 = microtime();
  11. $aantal2 = $var2 - $var;
  12.  
  13. if($aantal2 > $aantal1) {
  14. echo "actie 2 is sneller";
  15. } else {
  16. echo "actie 1 is sneller";
  17. }
  18. ?>

Offline delta_004 - 06/09/2005 21:02 (laatste wijziging 06/09/2005 21:04)
Avatar van delta_004 Onbekend lol mooie fuctie maar wat moet ik ermee?
En waar moet ik het zette?
En hoe moet ik de snelheid van een ping mete?
Offline Legolas - 06/09/2005 21:09 (laatste wijziging 06/09/2005 21:11)
Avatar van Legolas Onbekend Lol, kep m ff getest;-)

  1. <?php
  2. $var = microtime();
  3. $Ping = shell_exec ('ping -l 1 -n 1 -w 2 81.70.25.1');
  4. $var2 = microtime();
  5. $aantal1 = $var2 - $var;
  6. unset($var);
  7. unset($var2);
  8. $var = microtime();
  9. $Ping = shell_exec ('ping -l 1 -n 1 81.70.25.1');
  10. $var2 = microtime();
  11. $aantal2 = $var2 - $var;
  12.  
  13. if($aantal2 > $aantal1) {
  14. echo "actie 2 is sneller";
  15. } else {
  16. echo "actie 1 is sneller";
  17. }
  18. ?>


btway dit snapte je toch wel wat 'DOE actie n' betekende?

Maargoed actie 2 is sneller op m'n localhost;-)

edit: haha ze wisselen elkaar af 
... ik test wel met 100x achter elkaar:p met eval();:)
Offline delta_004 - 06/09/2005 21:11
Avatar van delta_004 Onbekend vet lache man!
Offline nemesiskoen - 06/09/2005 21:15
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
lol mooie fuctie maar wat moet ik ermee?
En waar moet ik het zette?
En hoe moet ik de snelheid van een ping mete?

1. het is geen functie
2. als je over onderwerpen als deze praat dien je dit te weten
3. dat kan je afleiden uit de OERLOGISCHE (en simpele) code
Offline Legolas - 06/09/2005 21:15
Avatar van Legolas Onbekend Ben d'r uit actie 2 is sneller 

Script:
  1. <?php
  2. $var = microtime();
  3. for($i = 1; $i <= 25; $i++){
  4. eval("\$Ping = shell_exec ('ping -l 1 -n 1 -w 2 81.70.25.1');\n");
  5. }
  6. $var2 = microtime();
  7. $aantal1 = $var2 - $var;
  8. unset($var);
  9. unset($var2);
  10. $var = microtime();
  11. for($i = 1; $i <= 25; $i++){
  12. eval("\$Ping = shell_exec ('ping -l 1 -n 1 81.70.25.1');\n");
  13. }
  14. $var2 = microtime();
  15. $aantal2 = $var2 - $var;
  16.  
  17. if($aantal2 > $aantal1) {
  18. echo "actie 2 is sneller";
  19. } else {
  20. echo "actie 1 is sneller";
  21. }
  22. ?>


Greetz en correct me if i'm wrong 
(btw getest op windows eerst met 100 keer, maar dan kreeg ik wel errug veel van die CMD prompt schermpjes:D
Offline ikkedikke - 06/09/2005 21:16
Avatar van ikkedikke PHP expert misschien moet je eens gewoon naar het evrschil kijken, dan zal je misschien wel zien dat het niet zoveel scheelt:!:
Offline Legolas - 06/09/2005 21:19
Avatar van Legolas Onbekend
Citaat:
ikkedikke schreef:
misschien moet je eens gewoon naar het evrschil kijken, dan zal je misschien wel zien dat het niet zoveel scheelt:!:

Inderdaad de beide getallen worden negatief!:ooh:

Citaat:
actie 2 is sneller
actie1: -0.635917
actie2: -0.02578
Offline nemesiskoen - 06/09/2005 21:20 (laatste wijziging 06/09/2005 21:22)
Avatar van nemesiskoen Gouden medaille

PHP expert
Dat betekend dat $var groter is dan $var2... toch even die functie microtime nakijken. Maar ik dacht dat het het aantal microseconden van unix stamp gaf. Dus dat wordt elke second groter en groter. En zal nooit verlagen:s

edit: daar zeggen ze zelf dat je als argument TRUE moet meegeven in beide gevallen.
Dus:
  1. $time_start = microtime(true);
  2.  
  3. //doe iets
  4.  
  5. $time_end = microtime(true);
Offline delta_004 - 06/09/2005 21:21
Avatar van delta_004 Onbekend tnkx allemaal
Offline Legolas - 06/09/2005 21:27
Avatar van Legolas Onbekend @nemesiskoen: that's it (Y).

Nu geven ze beide positief terug.

Dit resultaat:
Citaat:
actie 2 is sneller
actie1: 6.2643768787384
actie2: 7.7598350048065


Met deze code:
  1. <?php
  2. $var = microtime(true);
  3. for($i = 1; $i <= 25; $i++){
  4. eval("\$Ping = shell_exec ('ping -l 1 -n 1 -w 2 81.70.25.1');\n");
  5. }
  6. $var2 = microtime(true);
  7. $aantal1 = $var2 - $var;
  8. unset($var);
  9. unset($var2);
  10. $var = microtime(true);
  11. for($i = 1; $i <= 25; $i++){
  12. eval("\$Ping = shell_exec ('ping -l 1 -n 1 81.70.25.1');\n");
  13. }
  14. $var2 = microtime(true);
  15. $aantal2 = $var2 - $var;
  16.  
  17. if($aantal2 > $aantal1) {
  18. echo "actie 2 is sneller";
  19. } else {
  20. echo "actie 1 is sneller";
  21. }
  22. echo "<br>actie1: ".$aantal1."<br>";
  23. echo "actie2: ".$aantal2."<br>";
  24. ?>


@ikkedikke scheelt eigenlijk nog behoorlijk wat hoor;-)
Offline nemesiskoen - 06/09/2005 21:30 (laatste wijziging 06/09/2005 21:31)
Avatar van nemesiskoen Gouden medaille

PHP expert
@Rensjuh: het verschil is niet 1,5 seconden. Maar 1,5 microseconden.
Dat betekend 0,0625 microseconden verschil voor 1 keer de actie te ondernemen. Dit is 0,00000006 seconden (als ik me niet vergis... wat altijd kan zijn zoals we vandaag al meer hebben gemerkt). Dat is te verwaarlozen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.321s