View Single Post
  #3 (permalink)  
Old September 8th, 2001
The Seeker The Seeker is offline
Panthera Onca
 
Join Date: September 7th, 2001
Location: CA
Posts: 238
The Seeker is flying high
Default Memory Usage

In my original "excessive threads" report (for 2.09) XoloX consumed memory while indexing at a rate of aprox 1 MB per thread. (or maybe .5 as I think Sysmon is broken, reporting disk cache usage when there is none.) With 1 thread being created per (sub)directory shared, this can add up rather quickly.

There may have been a leak in 1.09 in the CRC code which did not release RAM after allocating it for another file where one didn't exist in the directory.
Code:
DO 
  DO
    Allocate memory.
    Check to see if there is another file to index.
    If yes then
      CRC check and index file
      Free memory
    Else Exit DO
    End IF
  LOOP
  If another directory then
    Move to next directory
  Else exit DO
  End IF
LOOP

Instead of:

DO 
  DO
    Check to see if there is another file to index.
    If yes then
      Allocate memory.
      CRC check and index file
      Free memory
    Else exit DO
    End IF
  LOOP
  If another directory then
    Move to next directory
  Else exit DO
  End IF
LOOP
I say this becaues of how evenly the memory usage matched my shared folders as opposed to my shared files.

In 1.11 indexing the same 192 folders now uses ~3 MB of RAM, probably because CRC checking as been taken out. When folders are unshared, the memory used is freed properly. I think users will have a much better experience with this version.

More tests to follow.