Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
implode unter windows == sehr langsam [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
implode unter windows == sehr langsam


 
runner
03-11-2004, 22:46 
 
Hallo,
ich habe ein kleines Problem mit den neueren Apache und php Versionen.

bisher habe ich ein "Wampp" von http://www.firepages.com.au (PHPdev5) auf mein Windows Xp prof. Rechner genutzt.
(Apache 1.27 und php 4.2.2)
AMP XP3200
1gb ram
serial ata 80Gb (x2)

Jetzt habe ich aber auf Xampp umgestellt und nun dauert die Ausführung um ein Array in einen String umzuwandeln sehr, sehr lange.
Nun da mir bis jetzt auch noch keiner von der Xampp seite weiterhelfen konnte habe ich selbst einmal den apache 2 und php 5 auf meinen rechner installiert,
aber das Ergebnis ist leider gleich geblieben, es dauert immer noch sehr, sehr lange.

Mit diesem Script(s.u) brauch die implode Funktion über 7 sec. unter php5 auf windows,
mit den wampp von phpdev5 braucht die implode Funktion nur 0.023 sec auf windows,
genau so wie bei meinen Webhoster, da braucht die implode Funktion auch nur 0.023 sec.
(Webhoster, apache 2 php5 Linux)

Also welche Einstellung könnte dafür im apache, oder bei php verantwortlich sein ?

Hier das Beispiel Script:
<?php
function get_microtime() {
list($usec, $sec) = explode(' ',microtime());
return ((float)$usec + (float)$sec);
}
$PARSE_TIME_START = get_microtime();
function parse_time($text=false) {
echo '<p align="center">'.(($text) ? $text.'<br />' : '').'<strong>'.substr((get_microtime() - $GLOBALS['PARSE_TIME_START']),0,8).'</strong></p>';
if($text) {
$GLOBALS['PARSE_TIME_START'] = get_microtime();
}
}
function MyImplode($array) {
$string = '';
for($i=0;$i<count($array);$i++) {
$string .= $array[$i];
}
return $string;
}
$text = 'Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext,
Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, Blindtext, ';

$new_array = array();

for($i=0;$i<2000;$i++) {
$new_array[$i] = $text;
}
parse_time('for:');
// for schleife braucht ~ 0.002400

$string = implode('',$new_array);
parse_time('implode:');
// implode braucht ~ 6.269845

$string = MyImplode($new_array);
parse_time('MyImplode:');
// MyImplode braucht ~ 6.444344
?>
Bin über jede hilfestellung sehr dankbar :)

Gruß
Runner

 
derHund
03-11-2004, 22:57 
 
:D

ist dir aufgefallen, daß der thread auf einmal extrem breit ist?
umbrichst du bitte deinen code?

 
runner
03-11-2004, 23:03 
 
Original geschrieben von derHund
:D

ist dir aufgefallen, daß der thread auf einmal extrem breit ist?
umbrichst du bitte deinen code?
ups... sorry, habs schon geändert, hast du denn vielleicht auch eine lösung für das Problem ? :)

 
runner
07-11-2004, 14:55 
 
kann mir denn hier keiner weiterhelfen :confused:

 
runner
16-11-2004, 18:42 
 
*hoch schieb*

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:39 Uhr.