Napravio sam direktnu usporedbu koliko sam mogao na ovom starijem laptopicu... Za test koristim Teams cache folder od 800MB, 6344 fajla male velicine... Koristio sam Directory Opus za testove kopiranja...
1.
Kopiranje sa NVME Gen3 x4 diska (NTFS) na RAMdisk (DDR4-2400, FAT32)... 57.4MB/s
2.
Kopiranje sa RAMdiska na ISTI RAMdisk (DDR4-2400, FAT32)... 105MB/s, Trajanje [min:sec]: 00:31
3.
Kopiranje sa RAMdiska (DDR4-2400, FAT32) na NVME Gen3 x4 disk (NTFS)... 108MB/s, Trajanje [min:sec]: 00:26
4.
Kopiranje sa RAMdiska (DDR4-2400, FAT32) na DRUGI RAMdisk (DDR4-2400, FAT32)... 144MB/s, Trajanje [min:sec]: 02:13
Kako tumacim ove rezultate? Molio bih pametnjakovica Bubbu da detaljizira ako mu se ide u dubinu... Meni se neda ici objasnjavati detaljno sto i kako, nemam ni vremena ni volje, a i dugo nisam izucavao filesysteme... Rezultati govore sami za sebe, ja cu pokusati razjasniti moje vidjenje (koje moze biti i krivo u nekim sitnicama, no u globalu je to tako)...
1. U slucaju kopiranja sa NVME na RAMdisk je vidljivo da kopiranje hrpe malih fajlica jedva dostize 60MB/s, sto je totalno nevjerojatno s obzirom da se radi o kopiranju sa NVME diska koji bi trebao biti suludo brz (3000MB/s) na RAMdisk (koji je dosta brzi, pogotovo u DDR5 obliku)... No, i dalje dobijam 60MB/s, kako sad pak to? E pa lijepo, radi se o hrpi malih fajlica koje OS treba dohvatiti i preseliti na drugi disk... Ovo je problem dohvacanja random fajlova, to nije sekvencijalni prijenos podataka, tako da su i brzine katastrofa iako se radi o NVME disku...
2. U slucaju kopiranja sa RAMdiska na
ISTI taj RAMdisk, rekao bih da imam problem dohvata i pisanja podataka na istom disku... Pretpostavljam da su neki locking mehanizmi (lock prilikom reada i lock prilikom writea) u igri, vjerojatno na razini filesystema... To pametnjakovic Bubba moze objasniti sto zasto i kako kad se vec voli praviti pametan... A i cinjenicu da je sve odradjeno za 00:31... Odokativno - nekakav cache je u igri...
3. U slucaju kopiranja sa RAMdiska na NVME, imamo slucaj izrazito brzog dohvata malih fajlica sa RAMdiska te neometanog pisanja na NVME disk... Razlika u odnosu na 1. slucaj je sto ovdje male fajlice dohvacamo sa izrazito brzog diska (RAMdisk), a ne sa NVME diska. Pisanje je manji problem u ovom slucaju jer se pisanje moze odraditi i sekvencijalno ukoliko Windowsi znaju posteno upravljati sa write cache memorijom, a izgleda da znaju... Cinjenica je da je ovaj posao vremenski odradjen izrazito brzo, no ovdje mozda u igru treba uvesti write cache na samom NVME disku koji je bas maloprije odradio kopiranje istih ovih fajlova...
4. U ovom slucaju imamo kopiranje sa jednog RAMdiska na drugi RAMdisk gdje imamo potpuno neometano dohvacanje malih fajlica te potpuno neometanog pisanja na drugi medij izrazito visokih performansi... Znaci, lock diska da bi se procitao fajl se odvija na prvom disku, dok se lock diska za pisanje na njega odvija na drugom disku, cime si ne smetaju medjusobno... No, ovdje me buni zasto mi daje tako visoku brzinu kopiranja, iako mu vremenski treba puno vise nego u slucaju 1 ili 2...
Znaci, slucajevi 2 i 3 su, IMHO, nepouzdani jer se dohvacaju cachea negdje (odokativno, na NVME disku?)... Meni su relevantni slucajevi 1 i 4 jer je tu direktno vidljivo citanje random podataka (read cache skoro pa beskoristan u oba slucaja)... Iz prikazanog, vidljivo je da je povecanje performansi u odnosu na 1. slucaj nekih 2.5x... Ovo bih okarakterizirao kao tipicno ponasanje aplikacije koja koristi RAMdisk za dohvat podataka - i temp/cache podaci i sama aplikacija su u RAMu, jedino sto ih smeta je filesystem, tako da treba odabrati najbrzi filesystem (FAT32 je uvijek bio brzi od NTFS)...
Nadam se da sam sada odgovorio na pitanje svima koji su bili skepticni...