Hirdetés
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #17229 üzenetére
"Igen tudom, bár javasoltam egy alternatív megoldást a problémára."
Ami hibás.Az str_split()-nek az egész tömböt adod át, nem indexelted. Egyébként van foreach-ciklus, ami ennél sokkal szebb kódot eredményez, és az ilyen jellegű indexeléssel sem kell foglalkoznod.
"Amúgy nem lehetséges, hogy néha az ilyen alternatív megoldás gyorsabb? Tegyük fel, hogy a kód
ugyan olyanugyanolyan hatékonysággal van megírva mint a függvényben, de mivel itt függvényhívás nélkül fut le, ezért valamivel gyorsabb."
Nem valószínű, mivel a PHP könyvtári függvényeit C-ben írják, aztán optimalizált kód lesz belőle a buildelés során, nagy eséllyel ez gyorsabban fog működni, mint a Te kódod, amit már PHP-ben írsz (a fenti kódodnál meg aztán végképp gyorsabban fog működni...). Persze ettől még a különbséget nem biztos, hogy megérzed. (Na meg el lehet képzelni rossz implementációt is még a beépített függvényeknél is.)
Ha arra vagy kíváncsi, hogy azonos környezetben, azonos feltételekkel, ugyanolyan hatékonysággal van valóban megírva a kód, de még valaki hozzátesz egy függvényhívást is, akkor melyik lesz a győztes, akkor igen, jól sejted, ELMÉLETBEN az, amelyik nem teszi hozzá a függvényhívás overheadjét - a gyakorlat viszont megint más, mert ez már olyan minimális különbség, hogy nem fogod tudni mérni sem, hogy melyik a gyorsabb, sőt, aktuális szerverterheltségtől függően össze-vissza fog változni a különbség.
Szóval azon nem éri meg agyalni, hogy inkább a könyvtári függvényt használod, vagy feltalálod a spanyolviaszt.
Azon, hogy milyen overheadet teszel hozzá egy-egy függvényhívással, akkor éri meg agyalni, amikor pl. egy helyen ugyanazt az értéket kéred le többször is, tök feleslegesen. Rengetegen elkövetik azt a hibát, hogy egy értéket/referenciát/akármit eltárolhatnának egy változóban, és később felhasználhatnák, de ugyanazt a kódot leírják többször is (erre is vonatkozik a DRY (Don't Repeat Yourself) elv).
Na, kezdek elkalandozni, remélem, megválaszoltam a kérdésedet.
Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kínai és egyéb olcsó órák topikja
- Milyen billentyűzetet vegyek?
- Milyen okostelefont vegyek?
- eBay-es kütyük kis pénzért
- Kerékpárosok, bringások ide!
- RAM topik
- Milyen légkondit a lakásba?
- Kormányok / autós szimulátorok topikja
- One mobilszolgáltatások
- További aktív témák...
- Acer Nitro V 17 AI Gamer Laptop!Ryzen 7 260/RTX5070/32gb Ram/2tb Ssd/2560x1440-165hz IPS!
- 17" SNSV - N3450 proci, 12GB RAM, 256GB SSD - patika állapot, kitűnő akku!
- Asztali PC , i7 10700 , RTX 3070 , 32GB DDR4 , 512GB NVME , 1.5 TB HDD
- Asztali PC , i5 8400 , 1080 Ti 11GB , 16GB DDR4 , 500GB SSD
- Karcmentes Google Pixel Watch 3 (Obsidian fekete) Több mint 50.000 Ft Értékű Kiegészítővel!
- Ultimate előfizetés új fiókra akár 2105 Ft/hó áron! Azonnali, automatizált aktiválással, csak Nálam!
- GYÖNYÖRŰ iPhone 13 Pro Max 1TB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3051
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- Új FULL HD webkamera + Számla
- Targus Universal USB 3.0 DV1K-2K Compact docking station (DisplayLink)
Állásajánlatok
Cég: FOTC
Város: Budapest