Hardware Reference
In-Depth Information
Performance
Performance of a software package is often somewhat difficult to gauge since
determining factors may differ from one application to another. Processing
speed, for example, will be all important in some applications (e.g., in an
oscilloscope) but largely irrelevant in others.
To a large extent, processing speed will depend upon simultaneous demands
placed on the processor. Where a system has to carry out many functions at
the same time (such as regularly updating a graphics display, servicing inter-
rupt requests generated by several expansion cards, and responding to user
input from a keyboard) it is hardly likely to run at what may be considered an
acceptably high speed.
If speed is a paramount consideration and a great deal of 'number crunching'
is expected, then a system with a high clock rate and plenty of memory will
normally be essential. If such a system still fails to deliver the speed which is a
pre-requisite of a particular real-time application then it is probably questionable
as to whether a PC-based system should have been adopted in the first place!
Provided that processing speed is identified as a premium requirement, cus-
tom software can usually be made to offer significant speed advantages over
'off-the-shelf ' packages. The programmer or software engineer can elect to
optimize his or her code for speed rather than data integrity. As an example,
input range checking could be abandoned in favour of faster throughput of data
or opt for post-acquisition rather than real-time display of data.
Functionality
Functionality is becoming increasingly important in software selection and it
relates to the fitness and suitability of a program for a particular application and
hardware configuration. Most of today's applications packages offer additional
functionality which may not appear as a part of an initial software specification.
The ability to import and export data files is a prime example of this as the
availability of a built-in IEEE-488 command language or custom language
extensions such as user-written functions.
Software classification
In order to provide a frame of reference, Table below shows the continuum
which exists between custom-written 'turnkey' software at one extreme and
operating system utilities at the other.
Ease of use
Flexibility
Performance
Functionality
Examples
Very complex
Designed to meet
Can be very fast
As required to
Custom-written
(requires a high
a particular set of
and compact but
meet a given
software using
level of
requirements.
may require
specification.
programming
programming
Higly
substantial
languages such as
expertise)
customizable.
development time.
MASM32, Turbo
C ++ , PowerBASIC,
Visual Basic, or
Visual C ++ .
( continued )
Search WWH ::




Custom Search