|
10-12-2007, 20:28
|
|
|
חבר מתאריך: 17.05.05
הודעות: 7,321
|
|
מבדק ותוצאות: טעינה מהירה של איברי מערך
בעקבות (ולפני) מילוא קבצי השפה שלי באיברי מערך וערכיהם, עשיתי בדיקה קטנה כדי לבדוק באיזו דרך המערך נטען מהר יותר:
דרך א':
קוד PHP:
$arr = array(
'txt' => 'value',
'foo' => 'bar',
...
);
דרך ב':
קוד PHP:
$arr = array();
$arr['txt'] = 'value';
$arr['foo'] = 'bar';
...
לאחר בדיקות מצאתי שדרך ב' מהירה יותר(בקצת), למרות שזה בכלל לא הגיוני.
אלו תוצאות הבדיקות:
דרך א':
2.78949737549E-8
דרך ב':
2.38418579102E-8
זהו תוכן הקובץ שבו ביצעתי את הבדיקות:
קוד PHP:
<?php
define('encoding', 'UTF-8', true);
// Setting encoding + Header
header('Content-type: text/html; charset='.encoding);
mb_detect_order(encoding.', ISO-8859-8-I, ASCII');
mb_regex_encoding(encoding);
mb_internal_encoding(encoding);
$iniSet = array(
'mbstring.language' => 'Neutral',
'mbstring.internal_encoding' => encoding,
'mbstring.http_input' => encoding,
'mbstring.http_output' => encoding,
'mbstring.encoding_translation' => 'On',
'mbstring.detect_order' => 'auto',
'mbstring.substitute_character' => 'long'
);
foreach($iniSet as $k => $v)
ini_set($k, $v);
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
/*
$arr['Text1'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['Text2'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextT3 45435extTextText';
$arr['Text3'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextT456456extText78987987Tex3453454tT extTextTextTextTextText';
$arr['Text4'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['Text4767'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['T'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78789789987987TextTextText TextTextTextText';
$arr['Te'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['Tex'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['bla'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666Te564xtTextTextTextText78987987TextTextTextTex tTextTextText';
$arr['TaYdi'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe x74576tTextText';
$arr['strict'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['what'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText';
$arr['Yeah!'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666T5ext58768TextTextTextText78987987TextTextText TextTextTextText';
$arr['word'] = 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTe-90-90-089-xtTextTextText78987987TextTextTextTextTextTextText ';
$arr['nlaaaaaaaaaaaaaaaaaaadfg'] = 'glaaaaaaaaa77777777777777aaaaaaaaaaraaaaaaaa';
$arr['nlaaaaaaaaaaaaaaaaaaadfg'] = 'glaaaaaaaaa66666666666666aaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaaaaaaaadfga'] = 'glaaaaaaaaa444444444444aaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaaaaaadfgaaa'] = 'glaaaaaaaaa666666666666666aaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaaaaaaaaa'] = 'glaaaaaaaaaaaa555555555aaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaaaadfgnvcaaaaa'] = 'glaaaaattttttttttttttaaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaacvbcvbaaaaaaa'] = 'glaaaaavcbvcfgfdgaaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaacvbvcbaaaaaaa'] = 'glaaaaaagggggggggggggaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaavcbvcbaaaaaaaaaa'] = 'glaaaaaacvbvcbaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaab,mn,mnaaaaaaa'] = 'glaaaaa456546aaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaa765aaaaaaaaa'] = 'glaaaaaaaaaaa456aaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaaa3534aaaaaaa'] = 'glaaaaaaaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaasssssssaaaaaaaaa3534aaaaaaa'] = 'gladddddddddaaaaaaaaaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaaaahhhhhhhhhhhha3534aaaaaaa'] = 'glaaaaaaaaaffffffffffaaaaaaaaaaaaaaaaaa';
$arr['nlaaaaaaaaannnnnnnnnnnnnnnnaaa3534aaaaaaa'] = 'glaaaaaahhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaa';
$arr['333333333333nlaaaaaaaaaaaa3534aaaaaaa'] = 'gl444444444444444aaaaaaaaaaaaaaaaaaaaaaaaaaa';
$arr['ngggggggggggglaaaaaaaaaaaa3534aaaaaaa'] = 'glaaaaaaaaafffffffffffffffffaaaaaaaaaaaaaaaaaa';
$arr[1] = 12;
$arr[2] = 120;
$arr[3] = 2345;
$arr[4] = 3245;
$arr[5 ]= 1;
$arr[17] = 2;
$arr[20] = 3;
*/
$collectTime = 0.0;
$times=1000;
for($i=0; $i<$times ; ++$i)
{
$starTime = (float)microtime_float();
$arr = array(
'Text1' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'Text2' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextT3 45435extTextText',
'Text3' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextT456456extText78987987Tex3453454tT extTextTextTextTextText',
'Text4' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'Text4767' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'T' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78789789987987TextTextText TextTextTextText',
'Te' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'Tex' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'bla' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666Te564xtTextTextTextText78987987TextTextTextTex tTextTextText',
'TaYdi' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe x74576tTextText',
'strict' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'what' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTextTextTextText78987987TextTextTextTextTe xtTextText',
'Yeah!' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666T5ext58768TextTextTextText78987987TextTextText TextTextTextText',
'word' => 'Text2Text1TextTextTextTextText4TextTextTextText57 5666TextTe-90-90-089-xtTextTextText78987987TextTextTextTextTextTextText ',
'nlaaaaaaaaaaaaaaaaaaadfg' => 'glaaaaaaaaa77777777777777aaaaaaaaaaraaaaaaaa',
'nlaaaaaaaaaaaaaaaaaaadfg' => 'glaaaaaaaaa66666666666666aaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaaaaaaaadfga' => 'glaaaaaaaaa444444444444aaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaaaaaadfgaaa' => 'glaaaaaaaaa666666666666666aaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaaaaaaaaa' => 'glaaaaaaaaaaaa555555555aaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaaaadfgnvcaaaaa' => 'glaaaaattttttttttttttaaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaacvbcvbaaaaaaa' => 'glaaaaavcbvcfgfdgaaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaacvbvcbaaaaaaa' => 'glaaaaaagggggggggggggaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaavcbvcbaaaaaaaaaa' => 'glaaaaaacvbvcbaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaab,mn,mnaaaaaaa' => 'glaaaaa456546aaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaa765aaaaaaaaa' => 'glaaaaaaaaaaa456aaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaaa3534aaaaaaa' => 'glaaaaaaaaaaaaaaaaaaaaaaaaaaa',
'nlaaasssssssaaaaaaaaa3534aaaaaaa' => 'gladddddddddaaaaaaaaaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaaaahhhhhhhhhhhha3534aaaaaaa' => 'glaaaaaaaaaffffffffffaaaaaaaaaaaaaaaaaa',
'nlaaaaaaaaannnnnnnnnnnnnnnnaaa3534aaaaaaa' => 'glaaaaaahhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaa',
'333333333333nlaaaaaaaaaaaa3534aaaaaaa' => 'gl444444444444444aaaaaaaaaaaaaaaaaaaaaaaaaaa',
'ngggggggggggglaaaaaaaaaaaa3534aaaaaaa' => 'glaaaaaaaaafffffffffffffffffaaaaaaaaaaaaaaaaaa',
1 => 12,
2 => 120,
3 => 2345,
4 => 3245,
5 => 1,
17 => 2,
20 => 3
);
$collectTime = (float)microtime_float() - $starTime;
}
echo '<br /><br />It took:'.($collectTime/$times);
?>
לידיעתכם
|
|