![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%)
|
Witam,
może ktoś się orientuje czy jest jakaś różnica w wydajności jak chodzi o tworzenie tablic na dwa poniższe sposoby:
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%)
|
Witaj,
Zawsze możesz samemu sprawdzić: - w tym celu robisz pętlę powiedzmy 10000 iteracji - zapisujesz czas przed iteracjami i po iteracjach - wyznaczasz różnicę czasu Pamiętam by eksperyment powtórzyć kilka/kilkanaście razy by zniwelować czynnik zewnętrzny. Otrzymane wyniki dobrze jest jakoś obrobić rozsądnie. Pozdrawiam serdecznie, Łukasz |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
Wygrzebane z manuala w przykładach:
Cytat If you are creating an array with a large number of static items, you will find serious performance differences between using the array() function and the $array[] construct. For example: <? // Slower method $my_array = array(1, 2, 3, 500); // Faster method $my_array[] = 1; $my_array[] = 2; $my_array[] = 3; $my_array[] = 500; ?> [za:] http://php.net/manual/en/function.array.php Tylko teraz kwestia czy podstawianie wartości pod konkretne klucze działa w podobny sposób, jak konstrukcja wstawiania kolejnego elementu? Inna sprawa, że przykład nie dotyczy tablic asocjacyjnych. Trzeba byłoby zerknąć w źródła i sprawdzić jaka jest różnica (jeśli w ogóle jakaś jest). Ten post edytował darko 17.02.2010, 12:48:08 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%)
|
Pokusiłem się o dwa testy:
w tym przypadku nieco szybsza jest metoda 1.
w tym przypadku szybsza jest metoda 2 Myślicie że te testy dają wiarygodne wyniki ? |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 4 Dołączył: 11.12.2009 Ostrzeżenie: (0%)
|
Myślę, że są wiarygodne ale... po co ? I tak i tak jest wydajnie, a do projektów gdzie taka subtelna różnica miałaby sens to nie mówilibyśmy o php (IMG:style_emoticons/default/smile.gif) .
Myślę że w tym temacie ważniejsze jest co dla nas w konkretnym przypadku jest wygodniejsze. Ten post edytował masahuku 17.02.2010, 13:24:44 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%)
|
|
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 18:19 |