- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Argos: Szeretem az ecetfát
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- Parci: Milyen mosógépet vegyek?
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
PumpkinSeed #17229 üzenetére
A php-ban valóban lassúak a függvényhívások, de ez adottság, nem kell vele foglalkozni. Egy tíz meg százezer soros OOP kódhalmazban nem tudsz mit kezdeni ezzel. Ha elég hardkór vagy, itt elolvashatod, hogy miért van pontosan: [link]
Ha olyan szinten vagy, hogy ez a szűk keresztmetszet, akkor használj HHVM-et, de a PHP7-be igért JIT compiler is hozhat javulást. Vagy egyszerűen vegyél még szervert, olcsóbb, mint azért fizetni a programozót, hogy csökkentse a függvényhívások számát.
Arról nem is beszélve, hogy a jó minőségű kód egyik jellemzője, hogy a függvények elég rövidek és pontosan egy dolgot csinálnak. Szóval sok a függvényhívás és jó mély a stack. -
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
Hirdetés
- Mikrotik routerek
- Formula-1
- Nintendo Switch 2
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Argos: Szeretem az ecetfát
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- RETRO beárazás (mobil, PC, konzol)
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Csere-Beszámítás! Gamer PC Számítógép! R9 3900X / RX 6700XT / 32GB DDR4 / 1TB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR4 512GB SSD RTX 5060 Ti 16GB Zalman i3 NEO Enermax 650W
- BESZÁMÍTÁS! MSI B450M R5 5500 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- Országosan a legjobb BANKMENTES részletfizetési konstrukció! Dell G15 5530
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged