Hirdetés
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Fejhallgató erősítő és DAC topik
- Videós, mozgóképes topik
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Projektor topic
- Milyen TV-t vegyek?
- E-book olvasók
- Nyernéd az irodai csúnyapulcsi-versenyt? A Microsoft segít!
Ú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
- One otthoni szolgáltatások (TV, internet, telefon)
- The Division 2 (PC, XO, PS4)
- Direct One (műholdas és online TV)
- LEGO klub
- Synology NAS
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Red Dead Redemption 2 (PC)
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- További aktív témák...
- Eredeti Lenovo 90W szögleges laptop táp + kerek átalakító egyben eladó
- Canon 1100D + 18-55 3,5-5,6 IS II digitális fényképezőgép
- Apple iPhone 12 Mini / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 89%
- BESZÁMÍTÁS! MSI B760 i9 14900K 32GB DDR5 1TB SSD RX 9070 XT 16GB ASUS TUF Gaming GT501 CM 750W
- Apple iPad 9th Gen 256GB, Wi-Fi+Cellular, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest
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.



