2005-03-04 Ivar Madsen wrote
> Morten Guldager wrote:
>
>> Nu tester jeg.....
>
> Det er meget godt, men du skal lige have styr på hvad det er du tester.
>
>> Jeg har lavet en lille loop som producerer filer på 30 bytes.
>> 1000 batches af 1000 filer. Altså en million filer når den er færdig.
>> De første batches tog i omegnen af 6.2 sekund stykket.
>> Nu er jeg kommet til batch 850 og det tager lidt over 6.3 sekund
>> at oprette mine 1000 filer.
>> Altså ser det ikke ud til at være gået galt ved de 850.000 filer.
>> Hvis jeg så lige, mens den stadig står og skeiver filer, vil læse
>> en af de filer den skrev for en halv time siden, så går det lige
>> så hurtigt som hvis jeg læste samme fil i et næsten tomt katalog.
>> Jeg synes det er lidt vildt.....
>
> Det lyder vildt, men jeg tror at det er filer der ligger i cachen, hvor stor
> er den? du kan se det i "top"
Pænt stor. Jeg har også en del ram i min maskine...
Men et kald til sync tog "ingen tid", så det er nok ikke alverden der
har ligget i min cache.
Men det kan da sagtens være at alle skrivninger er gået til en journal for
så at blive skrevet på disken i store klodser.
Men det er også fint nok for mig.
Det vigtige er at jeg kan læse effiktivt fra min cache.
Med ext3 brænder det sammen allerede ved få tusinde filer.
> Hvis jeg har ret, så er det filer der udover på disken, også ligger i
> RAM'en, og læses derfra. Det er jo heller ikke så meget der skrives, 30.000
> byte.
30 * 1000 * 1000 er mere end 30.000
Jeg har en million filer af 30 bytes liggende ved siden af hindanden.
> Igen, er du sikker på at den tid du måler er den tid der bruges på at
> skrive til disken, eller skrive til cachen?
Det er vel lidt lige meget. Det går vildt hurtigt når jeg læser mine data
igen.
Nu har jeg lige haft min disk unmountet og mountet igen, hvilket burde sikre
mig at cachen er tom.
Men når jeg læser en tilfældig fil tager det 0.05 sekund. (med de
unøjaktigheder som time har)
/Morten