Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Mr Dini: Mindent a StreamSharkról!
- A magyar Duke Nukem 3D
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Ú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
-
Tele von Zsinór
őstag
válasz
Sk8erPeter
#2862
üzenetére
Helyesbítek: a fileműveletek lassúak. Ha 1-2-10 includeod van csak, ez nem fog feltűnni, ha sokkal több, akkor viszont már jelentős visszafogó tényező.
Például a symfony framework ez ellen úgy védekezik, hogy cacheli a teljes core rendszerét egyetlen masszív php fileba, így éles rendszerben csak az van includeolva.
Új hozzászólás Aktív témák
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Azonnali alaplapos kérdések órája
- Samsung Galaxy A54 - türelemjáték
- Autós topik
- Elemlámpa, zseblámpa
- EAFC 26
- Notebook / laptop alkatrészek cseréje (processzor, RAM, HDD)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- UHD filmek lejátszása
- Székesfehérvár és környéke adok-veszek-beszélgetek
- További aktív témák...
- Eladó Apple iPhone 15 Pro Max 256GB fekete, független
- Samsung S22 Ultra 12/256GB / Fekete / Kártyafüggetlen / Karcmentes kijelző
- HP Compaq Elite 8200 SFF (i3, 5GB DDR3, 250GB HDD, Win 10 kulcs)
- ASUS TUF Gaming A17 FA707RM - Ryzen 7 6800H, 17.3FULL HD 144Hz, 1.5TB, 16GB, Geforce RTX 3060 6GB
- Corsair RM850e 2025 850W 80+ Gold / ATX 3.1 / PCIe 5.1 - ~ÚJ - Alza garancia 2032.09.05.
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3017, 100% Akkumulátor
- Lenovo V130-15IGM laptop (Pentium Silver N5000/8GB/256GB SSD
- Keresek Zebra TC20 TC21 vagy valamilyen hasonló kaliberű 1D és 2D vonalkódok olvasására alkalmas pda
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




