From: BeeJ on 13 Aug 2010 12:34 So what is happening? In both cases I have set Thread Per Object. I instantiate four of the same ActiveX EXEs (set as an array of Ax(). With SingleUse I see all four in Process Explorer. with MultiUse I see one in Process Explorer. The Main App runs and uses what is provided in either case but ... Is the MultiUse some sort of reentrant thing? Is there only one copy in memory? How is the CPU interacting with these? All are working at the same time (as sliced). But maybe the timing is better with SingleUse. i.e. I could run faster due to lower overhead. Sorry I do not know the terminology to research this and if I did I probably would not get the gist of it. Still in learning mode ... thanks for your patience.
From: Nobody on 13 Aug 2010 12:53 "BeeJ" <nospam(a)live.com> wrote in message news:i43s74$s8u$1(a)speranza.aioe.org... > So what is happening? > In both cases I have set Thread Per Object. > I instantiate four of the same ActiveX EXEs (set as an array of Ax(). > With SingleUse I see all four in Process Explorer. > with MultiUse I see one in Process Explorer. > The Main App runs and uses what is provided in either case but ... > > Is the MultiUse some sort of reentrant thing? > Is there only one copy in memory? > How is the CPU interacting with these? > > All are working at the same time (as sliced). > But maybe the timing is better with SingleUse. i.e. I could run faster > due to lower overhead. > > Sorry I do not know the terminology to research this and if I did I > probably would not get the gist of it. > Still in learning mode ... thanks for your patience. Check "Thread Count" in Task Manager. I think you would see that the Single Use has at least 4.
From: Paul Clement on 13 Aug 2010 13:09 On Fri, 13 Aug 2010 09:34:21 -0700, BeeJ <nospam(a)live.com> wrote: � So what is happening? � In both cases I have set Thread Per Object. � I instantiate four of the same ActiveX EXEs (set as an array of Ax(). � With SingleUse I see all four in Process Explorer. � with MultiUse I see one in Process Explorer. � The Main App runs and uses what is provided in either case but ... � � Is the MultiUse some sort of reentrant thing? � Is there only one copy in memory? � How is the CPU interacting with these? � � All are working at the same time (as sliced). � But maybe the timing is better with SingleUse. i.e. I could run faster � due to lower overhead. � � Sorry I do not know the terminology to research this and if I did I � probably would not get the gist of it. � Still in learning mode ... thanks for your patience. � Some your questions would require a little more info, but you can find the differences between Instancing values documented in the below article: http://msdn.microsoft.com/en-us/library/aa242107%28VS.60%29.aspx Paul ~~~~ Microsoft MVP (Visual Basic)
From: BeeJ on 13 Aug 2010 14:22 Paul Clement formulated the question : > On Fri, 13 Aug 2010 09:34:21 -0700, BeeJ <nospam(a)live.com> wrote: > > � So what is happening? > � In both cases I have set Thread Per Object. > � I instantiate four of the same ActiveX EXEs (set as an array of Ax(). > � With SingleUse I see all four in Process Explorer. > � with MultiUse I see one in Process Explorer. > � The Main App runs and uses what is provided in either case but ... > � > � Is the MultiUse some sort of reentrant thing? > � Is there only one copy in memory? > � How is the CPU interacting with these? > � > � All are working at the same time (as sliced). > � But maybe the timing is better with SingleUse. i.e. I could run faster > � due to lower overhead. > � > � Sorry I do not know the terminology to research this and if I did I > � probably would not get the gist of it. > � Still in learning mode ... thanks for your patience. > � > > Some your questions would require a little more info, but you can find the > differences between Instancing values documented in the below article: > > http://msdn.microsoft.com/en-us/library/aa242107%28VS.60%29.aspx > > > Paul > ~~~~ > Microsoft MVP (Visual Basic) Well not what I was after. I saw similar in MSDN Help (F1) from the IDE. I am more interested in what the CPU does. When only one appears in Process Explorer and i have instantiated four, what is really going on? I left the question slightly ambiguous to get outside the box responses that give me more fodder. Is there more overhead? These are small ActiveX EXE with no global data to speak of so having four in memory does not seem like too much but ... ? If I need more speed or more assurance that something will get done when I request it? Those are what matters to me. In the past I did similar but the interface driver that my ActiveX EXE talked to was not reentrant and it really was a pain because i could not get anything to work. I think National Instruments finally came out with a reentrant driver but by then the management had thrown in the towel. Anyway, i am retired now so i don't give a hoot about that.
From: Jim Mack on 13 Aug 2010 15:11 BeeJ wrote: > When only one appears in Process Explorer and i have instantiated > four, what is really going on? I left the question slightly > ambiguous to get outside the box responses that give me more fodder. > Is there more overhead? Processes don't run -- only threads run. Four processes each with a single thread shouldn't work any faster or slower than four threads in a single process. There will be startup overhead for each process and for each thread, and some small memory overhead for each process, but aside from that it should make no difference to performance. -- Jim Mack Twisted tees at http://www.cafepress.com/2050inc "We sew confusion"
|
Next
|
Last
Pages: 1 2 3 Prev: MsgBox and a pop up form Next: Read XML using VB6 DOM 4.0 with Namespaces - See Sample XML |