Home |
Search |
Today's Posts |
#9
![]() |
|||
|
|||
![]()
Bob Bob wrote:
The NEC2 etc executable more or less runs in a DOS window. [edited for brevity] Does this mean it is only a 16 bit app and therefore a waste on a 32 bit processor? I have no experience with NEC2 at all so my comments are not specifically about that application. I just want to point out that running as a "console app" does not necessarily mean the app is 16-bit. Using a modern compiler one commonly builds 32-bit applications, both console and graphical user interface. One would have to use an 'ancient' compiler to build a 16-bit application. If NEC2 was built a long time ago that may certainly be the case. [more editing] - I had thought that to a degree software has to be aware of the dual processor/core capability before it can use it. I would think that a "dos box" probably isn't aware of same. This would explain 50% use. Absolutely. If the application in question is a single threaded application then it will NOT be able to directly take advantage multiple processing units. (It's single thread may well be switched around between multiple processing units, at the whim of the OS, but only the single thread will run.) You are correct that a single threaded application running a CPU intensive task would likely show 50% CPU utilization on a dual core machine. Any application written for windows must be designed and written specifically to use multiple threads of execution in order to directly take advantage of multiple CPUs or multiple cores. And, yes, console applications *can* be designed and developed to be multi-thread capable. Almost conversely, just because an application is multi-threaded does NOT necessarily mean that it's threads will be run on separate processors. It is (mostly) up to the OS to decide which thread runs on which processing unit, at what time and for how long. Think of an application with 10 threads running on a dual core machine. Threads are still pre-emptively interrupted so that other threads can gain access to compute resources. The machine you are reading this message on is probably switching between 30 to 100 active threads right now. One big advantage of a multi-CPU or multi-core machine is that when running a highly CPU intensive task (as I gather these modeling applications must be) the other CPU or core is still free to serve up CPU cycles to the OS and any other applications that are running. This would make the machine feel more responsive to the user. Sorry to ramble on.. -- 73, HZ |