Fájlbeolvasásnál nem okoz gondot ha a puffer túl nagyra van állítva? (Pascal)
Operációs rendszertől függetlenül működik (és jól működik) ha a puffer nagyra van állítva? Például akár több mint 100 megára, hiszen ha egy másodperc alatt be lehet olvasni akár 120 megát is, gondolom akkor ez a legpraktikusabb.
Ahhoz kelleme némi szakértelem hogy operációs rendszer szintjén menjen a fájlolvasás, tehát programból legyen lekezelve operációsrendszer-szintű hívásokkal a fájlolvasás.
Hiába adsz meg 120 megás puffert, egy másik szinten azt úgysem biztos, hogy az oprendszer valóban bent is tartja a fizikai memóriában. (Valszeg igen, de nem biztos.) Annyi fog történni, hogy fájl olvasáskor azt feltölti, tehát annyival több adatot fog (esetleg feleslegesen) beolvasni, és közben még talán swap-elnie is kell, ha túlzsúfolt a memória. Akkor lehet némi értelme, ha a fájlban sűrűn ugrálsz előre-hátra, sűrűn használod egy teljes pufferméretnyi részét a fájlnak.
A lemez fizikai puffere pedig kicsit mást jelent. Az a memória arra jó, ha a beolvasandó adatok szektorsorrendben vannak a lemezen, ilyenkor a kért szektorok után következőket is beolvassa a lemez a saját pufferébe, hátha az fog kelleni legközelebb. Ezt viszont semmi nem garantálja. (Fájlrendszer működés, töredezettség, stb.)
Értem. blockread-nak és blockwrite-nek a 4096, de még a 8192 byte pufferméret is elmondhatatlanul lassúnak tűnik.
Van valami megoldás ami platformfüggetlen és megoldja e problémát?
"Van valami megoldás ami platformfüggetlen és megoldja e problémát?"
Nincs, mert probléma sincs ha megérted, hogy a lemezről olvasás, lemezre írás lassú. Az adatokkal való művelet lehet gyors, ha előtte a lemezről beolvasod memóriába az egész fájl tartalmát, ez kis fájloknál nem is gond, nagyobb fájlokhoz meg használj fájl és memória streamet. A lényeg, hogy minél kevesebbszer kelljen a lemezhez fordulni adatokért.
"a 4096, de még a 8192 byte pufferméret is elmondhatatlanul lassúnak tűnik"
A "lassúság" tevékenységfüggő, a puffer maga nem lehet lassú.
Szóval a kérdés az, hogy pontosan mit is csinálsz és milyen felépítésű (tartalmú) fájllal.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!