Garbage collector

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi

I wonder... does installing .NET framework may effect the performance of native process running on the same computer
Does the GC runs in the kernel or in the application layer? running the GC in the kernel may effect the performance of other 'native' processes while collecting unused memory
So.... does the Garbage collection process may effect the performance of process other then the one whos garbage is being collected

Nadav.
 
Nadav said:
I wonder... does installing .NET framework may effect
the performance of native process running on the same
computer?

No, not if you mean just installing it, without running anything.
Does the GC runs in the kernel or in the application layer? running
the GC in the kernel may effect the performance of other 'native'
processes while collecting unused memory.

The processor mode is beside the point. All active applications compete for
the user of the processor(s). The only question is to what extent? You find
that answer by experimentation.

Regards,
Will
 
Well, processes ( or actually threads ) running in the kernel have a priority much higher then ones running in the application, this will have a greater affect on the running applications then threads running in the application layer, this is why it is importent for me to understand where the GC runs...
 
Nadav said:
Well, processes ( or actually threads ) running in the kernel
have a priority much higher then ones running in the
application, this will have a greater affect on the running
applications then threads running in the application layer,
...

Huh? On a platform where all threads are created by the kernel, all threads
are pre-emptively scheduled by the kernel and just about anyone and his
brother can call SetThreadPriority() and SetPriorityClass(), I don't get
your point.
this is why it is importent for me to understand where the
GC runs...

Then you might want to start reading here:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/dotnetgcbasics.asp

Regards,
Will
 
Nadav said:
Well, processes ( or actually threads ) running in the kernel have a
priority much higher then ones running in the application, this will
have a greater affect on the running applications then threads
running in the application layer, this is why it is importent for me
to understand where the GC runs...

Kernel threads CAN have higher priority - they don't necessarily have higher
priority (for example, consider the thread(s) of the Idle process).

The .NET GC runs as a user-mode thread. Of course, like any other thread,
it transitions in and out of the kernel as it does it's work.

-cd
 
Back
Top