Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
dragon1993 #14339 üzenetére
Nem tudom megérteni, miért jó neked, hogy megsokszorozod a futási időt, de nekem mindegy. Csak belegondolhatnál, mit kezdenél ennél jóval nagyobb adatmennyiségnél, akkor lehet, hogy már elkezdenél a futási idők faragásán gondolkozni...
De amúgy is rossz megközelítés eleve gányolva programozni. Jobb eleve a legrosszabb esetre felkészülni, és még akkor is elcseszheted, de legalább csökkented az elcseszhetőség mértékét.
"Több oldal tagban van több url tag 1-el nehéz mindenen végig menni."
Miért is? Ha jól értem a problémádat: rekurzióról hallottál már? Igen, az beágyazott ciklus lesz, de nem kell teljesen elölről kezdened újból, ráadásul az érvelésedet nem egészen értem így magyarázatként. -
Sk8erPeter
nagyúr
válasz
dragon1993 #14330 üzenetére
Ja, hogy XML-ben sikerült vesszőt használni? Az rettenetesen értelmes.
Eleve mindenféle ilyen vesszős elválasztás úgy fos, ahogy van. Például sokan azt hiszik, hogy az a cikkek tagekkel való ellátásának módja, hogy vesszőkkel elválasztva benyomják egy adatbázis-mezőbe, aztán kész, pedig nagyon nem úgy kő'. Abból még egy normális query-t sem lehet futtatni, ami nem zabálja tök feleslegesen az erőforrásokat (például stringeket feldarabolni ilyen hülyeség miatt). -
Sk8erPeter
nagyúr
válasz
dragon1993 #14314 üzenetére
Láttam, hogy azóta megoldódott a gondod, de muszáj rákérdeznem:
$urlek="";
$sha="";
foreach ($xml->oldal as $oldal)
{
$urlek = $urlek.$oldal->url;
$sha = $sha.$oldal->sha1;
}
$sha = split(",", $sha);
$urlek = split(",", $urlek);
....
foreach ($urlek as $url)
....Ennek mi értelme van?
Először konkatenálod egy stringgé, aztán széjjelszeded a vesszők mentén, hogy kapj egy tömböt, majd ezután végigmész a tömbön? Miért nem eleve tömböt hozol létre? Azt mondjuk eleve nem tudom, miért tartalmaz vesszőt az $oldal->url tartalma (gondolom tartalmaz, ha már annak mentén szeded széjjel), először azt kéne megoldani, de ha így is van, akkor sem összerakni, majd széjjelbontani kéne, hanem egyszerűen leszedni a vesszőt a végéről, és utána bepakolni az aktuális $oldal->url tartalmát egy tömbbe, úgy még lenne is értelme annak, amit csinálsz.Mondjuk a továbbiak is elég brutálisak. Gondolj bele, milyen felesleges futási időket adsz hozzá az alapvetően nem túl bonyolult scriptedhez:
- 2 különálló foreach ciklus - ebből eleve 1 kilőhető, mert tök felesleges végigmenni még egyszer az immár tömbbe rakott URL-eken - minek különgyűjteni, ha úgyis egyből kezdeni akarsz vele valamit? Totál felesleges lépés kapásból az elején
- aztán ott van az az érdekesen kinéző do-while-od
- még egy while
- ezenbelül még egy do-while
- na most még egy foreach így a végéreÉrzed, mennyi felesleges lépés?
-
dragon1993
addikt
válasz
dragon1993 #14314 üzenetére
Tárgytalan le volt terhelve a szerver.
-
biker
nagyúr
válasz
dragon1993 #14287 üzenetére
valami apróval biztos lassabb, hszen a foreach csak azt nézi, van-e még elem a tömbben, a for esetén pedig összehasonlít és összead is, így micro szinten nyilván egyel több feladat, más kérdés, hogy ennél kevésbé extrém területen is kijön-e ez?
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! ASUS PRIME H510M i5 10400F 16GB DDR4 512GB SSD RX 6600 XT 8GB Chieftech BD-25B 600W
- HP EliteOne 800 G5 All-in-One i5-9500 16GB 512GB 23.8" Érintőkijelző!! 1 év garancia
- Apple iPhone 13 Pro 256GB kék / 12 hó jótállás
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- Törött, Hibás iPhone felvásárlás!!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest