Avatar billede yates Nybegynder
02. marts 2006 - 13:50 Der er 5 kommentarer

Hvorfor mega sidefil??

Hej.

Jeg bruger DMath-pakken, som er en flok matematiske algoritmer, se http://www.unilim.fr/pages_perso/jean.debord/tpmath/tpmath.htm

En af funktionerne hedder SVD, eller singular value decomposition. Når jeg kalder den med et matrix med størrelsen for eksempel (8000 x 100) så tager processen ufatteligt lang tid og der genereres en sidefil på fx 300 Mb. Selve algoritmen bruger ikke en masse hukommelse. Har masser af RAM (mere end sidefilens størrelse).

Hvordan kan dette være??

Måske er det ikke delphi-relateret men svar gerne her alligevel.

Tusind tak.
Y.
Avatar billede falster Ekspert
03. marts 2006 - 14:05 #1
"Har masser af RAM (mere end sidefilens størrelse)"?

Burde det ikke snarere være omvendt. Sidefilen skal vel være ca. dobbelt så stor som rammen. Et par gb er vist ikke ualmindeligt for en sidefil i dag.
Avatar billede plazm Nybegynder
03. marts 2006 - 14:10 #2
Sidefilens størrelse bør faktisk være så lille som mulig, så jo flere ram du har jo mindre skal den være. Harddisken er jo ufattelig langsom i forhold til rammene, så det er en dårlig ide at ligge en masse ind i swapfilen.
Avatar billede falster Ekspert
03. marts 2006 - 14:19 #3
OK - jeg har nok set for mange af disse citater:

"Hvor stor skal side filen være?
den skal være 1½ gang dine ram. hvis du har 512 mb ram, skal den være 768mb"

"The rule of the thumb is 1.5 times the amount of system memory, unless you have too much load on your system"
Avatar billede yates Nybegynder
03. marts 2006 - 16:21 #4
OK så tror jeg lige jeg må omfurmulere den:

Under hvilke omstændigheder vil brugen af sidefil eksplodere uden at ram-allokeringen stiger?

En anden -men relateret- ting er:
Hvis jeg tager tid på min proces (den jeg beskrev ovenfor med singulasr value decomp) med gettickcount, så får jeg et ejendommeligt forkert resultat. Den tid gettickcount indikerer (forskellen mellem to gettickcount's fra start til slut) er flere-fold lavere end den tid der rent faktisk går... Hvorfor nu det??

En tredje ting: hvorfor hulen kommer jeg altid til at skrive "gettockcount" i stedet for "gettickcount" når jeg skriver kode?  - det er jo aldeles hjernedødt.

Yates
Avatar billede hrc Mester
05. marts 2006 - 20:48 #5
Yates> Det gør jeg også. GetTokCount og den slags varianter...

Har sikkert misforstået lidt, men du kan jo styre hvor du vil allokere ram og tvinge den til at bruge rigtig ram fremfor sløv disk-ram.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester