- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
- Elektromos rásegítésű kerékpárok
- eBay-es kütyük kis pénzért
- Tutti Georg: A Microsoft 2025. augusztusi biztonsági frissítései hibásak
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Bye PET Palack, hello SodaStream
Új hozzászólás Aktív témák
-
válasz
Sk8erPeter #2862 üzenetére
Nem, csak az volt, hogy ciklusba voltak ágyazva az include-ok, kábé így:
while(iteráció) {
include('ugyanaz a fájl.');
}Én hülyeségem.
HTML űrlap generálás miatt kellett, s nem ilyen volt hanem sok egymásba ágyazott ciklus, így állandóan a winyón kellett kaparnia 17 fájl után, amiből néhányat akár 70x is be kellett ágyazni. Írtam egy osztályt, ami gyorsítótárazva ágyaz be, azaz ha valamit beágyaz, akkor beírja egy változóba is a benne lévő php scriptet, majd ha mégegyszer be kéne ágyazni, akkor már a memóriából olvassa be a scriptet, s eval-lal újra lefuttatja. Persze a szkript lefutása után törlődnek a cuccok a memóriából, így ezzel "csak" 5x tempót értem el, ami még mindig 2x lassabb az egy fájlos módszernél, úgyhogy fogtam magam és becache-eltem egy fájlba az egész generált űrlapot (ami 200x gyorsabb), oszt kész, az úgyis ritkán változik
class Cached_Include {
private static $_cache;
public static function inc($inc, &$importVars)
{
$inc = dirname(__FILE__) . '/' . $inc;
if(!self::$_cache[$file]) {
self::$_cache[$inc] = '?>' . file_get_contents($inc) . '<?';
}
extract($importVars, EXTR_REFS | EXTR_SKIP);
eval(self::$_cache[$inc]);
}
public static function save()
{
file_put_contents('cache.txt', serialize(self::$_cache));
}
public static function load()
{
self::$_cache = unserialize(file_get_contents('cache.txt'));
}
}Sebességek amúgy:
sok fájl, no optimalizálás: 1200-1500ms
sok fájl, cachelt include: 180-200ms
egy fájl (minden ebben van): 80-100ms
cachelve az egész hóbelevanc: 1-10ms
Új hozzászólás Aktív témák
Hirdetés
- GL.iNet Flint 2 (GL-MT6000) router
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Honor Magic V5 - méret a kamera mögött
- Debrecen és környéke adok-veszek-beszélgetek
- Robotporszívók
- AMD Navi Radeon™ RX 9xxx sorozat
- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Asus ROG Strix Flare II Animate Gamer Billentyűzet - Magyar kiosztás
- Lenovo 14 Ideapad 3 FHD LED Matt i3-1115G4 4.1Ghz 8GB 256GB SSD Intel UHD Graphics Win11 Garancia
- Acer, notebook, laptop, Ryzen 5 5500u, 16gb ddr4, 1tb ssd, 15.6 col
- Eladó 3. generációs I7-es számítógép
- ASUS ROG STRIX 850W 80 PLUS Gold - Garancia 2033.05.04
Állásajánlatok
Cég: FOTC
Város: Budapest