View Single Post
  #9   Report Post  
Old October 17th 06, 10:19 PM posted to rec.radio.amateur.antenna
Hank Zoeller Hank Zoeller is offline
external usenet poster
 
First recorded activity by RadioBanter: Jul 2006
Posts: 30
Default NEC and computer speed

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