Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zwiększyć zasobożerność kodu php?
Grandalf00
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 23.01.2016

Ostrzeżenie: (0%)
-----


Napisałem kod, który tworzy zadaną liczbą tablic z 15500 elementami. Muszę porównać każdy element ze sobą więc jak wiadomo, tych porównań będzie 15500*liczba tablic. Wszystko to robie hobbystycznie i szukam sposobu jak przyśpieszyć działanie kodu. Testy robie na xamppie. Niestety nie wykorzystuje on w pełni możliwości mojego komputera (8rdzeni, 8GB RAM) i w moim przypadku dwie tablice to kilkanaście minut oczekiwania na wyniki.

Czy da się jakoś ustaić xamppa czy może coś zmienić w php.ini aby chętniej sięgał po zasoby komputera? Chciałem kod przerzucić na swój serwerek, ale to jest starszy komputer z 1 rdzeniem i 1,5GB ramu więc na pewno nie pójdzie.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Naprawde sadzisz ze ma to jakikolwiek z SEO? Przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grandalf00
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 23.01.2016

Ostrzeżenie: (0%)
-----


No to chyba w innym kontekście jest słowo 'optymalizacja' smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Optymalizacja jest w kontekscie SEO. Czyta sie calosc jako calosc a nie wyrowkowo poszczegolne slowa tongue.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grandalf00
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 23.01.2016

Ostrzeżenie: (0%)
-----


Ok, rozumiem smile.gif

A tak wracając do tematu. Wie ktoś jak przydzielić dla XAMPPa więcej zasobów aby php szybciej się wykonywał? Dodam jeszcze, że mam dysk SSD.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


tutaj tylko taktowanie procesora i ilosc ram ci pomoze. Pokaz kod i dane do odpalenia jesli mozesz.
Go to the top of the page
+Quote Post
Grandalf00
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 23.01.2016

Ostrzeżenie: (0%)
-----


Ehh... człowiek się uczy całe życie i czasami wywarza otwarte drzwi... smile.gif Napisałem funkcję do sprawdzania tablic element po elemencie pomiędzy sobą, a przecież to czego potrzebuje załatwia... array_intersect, z tą różnicą, że moje pętle dwie tablicy porównują kilkanaście minut, a ta funkcja w sekundy smile.gif W moim przypadku to załatwia sprawę. Ale co do procka i ramu, to jak wspominałem wcześniej, zużycie procka przy mojej funkcji mam 24%, a wolnego ramu 6GB więc są zapasy smile.gif
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


25% czyli 1 rdzeń (i raczej masz 4core i 8 threads) więc się zgadza smile.gif
Go to the top of the page
+Quote Post
r4xz
post
Post #9





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


Pamiętaj też że serwer ma szybko odpowiadać, a nie robić masę obliczeń, dlatego stosuje się np. systemy kolejkowe. Serwer wrzuca tylko informację, że użytkownik chce coś obliczyć, a liczy to już inna maszyna/wątek/cokolwiek. Dzięki temu użytkownik nie musi się zastanawiać czy serwer zawisł czy też jeszcze liczy, a jak pójdzie timeout to już w ogóle licho i nic nie wiadomo.

PS Mimo wszystko gdybyś jednak musiał: http://php.net/manual/en/ini.core.php#ini.memory-limit


--------------------
Go to the top of the page
+Quote Post
nasty
post
Post #10





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Cytat(Grandalf00 @ 1.04.2017, 17:10:44 ) *
Napisałem kod, który tworzy zadaną liczbą tablic z 15500 elementami. Muszę porównać każdy element ze sobą więc jak wiadomo, tych porównań będzie 15500*liczba tablic. Wszystko to robie hobbystycznie i szukam sposobu jak przyśpieszyć działanie kodu.


Użyj Hash Table.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:30