473,326 Members | 2,134 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

Performance of separate processes V threads

Hi,

I am trying to understand the performance implications of running a
number of separate ActiveXexe processes as opposed to a single
ActiveXexe with multiple threads on a Windows 2000 server.

I have been told that Windows does not allocate a fixed memory space
to its processes, so they are always paged off to disk when inactive.
However, all the threads in a single process operate within the same
memory space, so are relatively quicker (presumably, if the single
process remains active, then all the threads will remain in memory,
not getting paged to disk).

This seems reasonable, except that the Windows server being used has
about 3GB of memory, each process takes up approximately 40k and there
will be only about 10 of these processes running in total. Surely
Windows will only write the processes to disk when it has no memory
available? Why would it use disk when there is still a lot of
available physical memory?

Thanks.
Jul 17 '05 #1
1 1825

"Michael Williams" <mi****************@iname.com> wrote in message
news:c8**************************@posting.google.c om...
Hi,

I am trying to understand the performance implications of running a
number of separate ActiveXexe processes as opposed to a single
ActiveXexe with multiple threads on a Windows 2000 server.

I have been told that Windows does not allocate a fixed memory space
to its processes, so they are always paged off to disk when inactive.
However, all the threads in a single process operate within the same
memory space, so are relatively quicker (presumably, if the single
process remains active, then all the threads will remain in memory,
not getting paged to disk).

This seems reasonable, except that the Windows server being used has
about 3GB of memory, each process takes up approximately 40k and there
will be only about 10 of these processes running in total. Surely
Windows will only write the processes to disk when it has no memory
available? Why would it use disk when there is still a lot of
available physical memory?

Thanks.


Here's two cents worth:

I think "always paged off to disk" should be changed to "always may be
paged off to disk". If, when, for how long, and why are questions best
left unanswered. Treat virtual memory as if it were memory, and leave
the management to the virtual memory software. In your case, there is a
very good chance they will not be paged out, unless the server gets very
busy with other tasks.

Separate processes have the advantage of being isolated from each
other - if one dies, the others are unaffected. Threads in a single
process will live or die together.

If you need a lot of shared data among the instances, marshalling data
across processes is quite a bit slower than using shared memory within a
process. If you don't need or use a lot of shared data, this is no
concern.

Jul 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: joerg | last post by:
Hello, we reached a quite interesting performance-limit while using JDBC type 4 to a DB2 V8.1 database. The DB2 is running on a Intel-based single CPU-Server with Linux OS. What we are doing is...
8
by: Michael C | last post by:
Anyone have any hints on improving the performance of C# UI? I'm filling a TreeView and ListView with information returned by a SQLDataReader and information read from the Registry. I'm working...
2
by: Shahid Siddiqui | last post by:
I want to know that whether the asp.net pages are served through separate threads or separate processes?
4
by: Bill Thorne | last post by:
We have a COM object that has been wrappered for use in .NET and which can make calls which can take a while to execute. These are mainframe integration calls that might perform a lot of data...
35
by: Carl J. Van Arsdall | last post by:
Alright, based a on discussion on this mailing list, I've started to wonder, why use threads vs processes. So, If I have a system that has a large area of shared memory, which would be better? ...
6
by: seb | last post by:
Hi, I am using pygtk for the first times. I am wondering what would be the best "pattern" to interface pygtk with a thread. The thread is collecting informations (over the network for...
6
by: Rich | last post by:
Hi, I know HOW to run these side by side. But what is the performance impact??? Microsoft make a big deal about how it is supported, but provide no guidelines as to potential performace or...
2
by: Jay Loden | last post by:
All, In studying Python, I have predictably run across quite a bit of talk about the GIL and threading in Python. As my day job, I work with a (mostly Java) application that is heavily threaded....
12
by: Ilyas | last post by:
Hi all I have an application which brings back 1000 records from a sql server database. Under the local asp.net development server provided with Visual Studio 2008, it takes about 1.8 seconds ...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.