One of the
difficult things about trying to quantify the effect of adding a numeric
co-processor is that not only do different applications use numeric
co-processors to different extents, but a single applications use numeric
co-processors to different extents, but a single application will vary in its
use of a co-precessor depending on the job it is tackling. For example, it is
generally held that spreadsheet programs are heavy co-processor users but it
isn’t difficult to find examples of spreadsheets that do virtually no floating
point arithmetic! For example, a spreadsheet that has been constructed to act
as a database is very unlikely to perform any arithmetic worth installing a
co-processor for.
To find out the
likely impact of a numeric co-processor, estimate how much time your program
spends in floating point calculation. Even in situations where the application
appears to do nothing but arithmetic the estimation can be much more difficult
than you might expect. For example. Suppose you have a spreadsheet consisting
of numeric data and formulae and it takes 30 minutes to recalculate. A simple
minded approach would suggest that if you add a mumeric co-processor that does
floating point calculations five times faster than software the calculation
would only take six minutes. If you try this out you will usually be
disappointed. The reason is that the 30 minutes to do the calculation isn’t
occupied solely by floating point calculations-data has to found and results
returned to the correct locations. In all probability no more than 75% of the
30 minutes is spent in performing floating point calculations and this is the
only portion of the calculation time that can be reduced by the addition of a
co-processor. In this case the calculation time would go down to only 12
minutes instead of the promised six.

0 comments:
Post a Comment