# calculating MIPS in a application

Started by December 8, 2003
```hi all,
i want to know as to how a product engg calcuates MIPS in a
application.well we have a algorithm(image compression) which we plan
to implement it in a dsp processor.in the process of  choosing the
processor,the main criteria which is been asked is ...whats the MIPS
of ur application????
how can one calculate that..???

thanks
```
```mia wrote:

>    how can one calculate that..???

At first, it depends on the CPU in use.
At second, it depends on the optimisation level you
can achieve (it very easy to increase needed MIPS).

As alternate solution, you can decompose your
algorithm in simple operation (add, mul, logic,
mov, etc.) and count them.
This will give a reasonable result, but it will
not account for CPU specific feature (SIMD, just
to make an example).

bye,

--
Piergiorgio Sartor

```
```"mia" <miadsp@rediffmail.com> wrote in message
> hi all,
>      i want to know as to how a product engg calcuates MIPS in a
> application.well we have a algorithm(image compression) which we plan
> to implement it in a dsp processor.in the process of  choosing the
> processor,the main criteria which is been asked is ...whats the MIPS
> of ur application????
>    how can one calculate that..???

I suspect the one asking that question is a sales/FAE type person from a DSP
vendor. I think we've had numerous discussions in the past where we pretty
much concluded that a MIPS calculation is pretty useless other than to serve
a *very* approximate measure of a processors capability (there is also a
wide range of definitions for this measure which doesn't help).

So you have an algorithm. Identify the 'real-time' needs of your
algorithm/application.
In your case, image compression, you may for example have a need to process
an image every X secs.
So your 'real-time' need is to run your algorithm on an image every X secs.
Study your algorithm to estimate how many 'operations' you need to perform.
This 'operations' parameter will vary widely from processor to processor
depending on it's capabilities. Some can do dual multiplies in a single
instruction (SIMD type), etc.
This gives you a starting point on what your needs are. You can then try and
study various processors to see if it will meet your needs. If you expect
others to tell you what processor to use, then you will end up with
something that isn't optimized for your needs.

> thanks

```
```In article <a1877ce6.0312080131.45cd7a61@posting.google.com>,
>     i want to know as to how a product engg calcuates MIPS in a
>application.well we have a algorithm(image compression) which we plan
>to implement it in a dsp processor.in the process of  choosing the
>processor,the main criteria which is been asked is ...whats the MIPS
>of ur application????

"MIPS" means something like "meaningless indication of processor
speed", or perhaps, "marketing indication of product speed".  The way
to get this number is for the marketing department do decide what
number, say X, that they need to convince customers to buy their CPU,
then to find some applications and develop or find a compiler that will
run these applications X times faster than some vintage computer (say
a VAX 11/780 or IBM 370/158, which happened to be marketed as 1 "MIP"
machines, even though they didn't execute a million anythings per
second) running a much more primative compiler.

>   how can one calculate that..???

Do the same as these marketing departments.  First compile and run your
application on a VAX 11/780, then on the various DSP CPU's you are
times faster, then that's the MIPS rating of your application on that
particular DSP architecture and implementation.  Note that this will
most likely not produce only a single number, and unless your image
compresssion algorthim has very similar execution characteristics to
Dhrystones, or SPEC or EEMBC applications, these numbers may or may not
have any correlation with the MIPS rating given by various marketing
entities.

IMHO. YMMV.
--
Ron Nicholson   rhn AT nicholson DOT com   http://www.nicholson.com/rhn/
#include <canonical.disclaimer>        // only my own opinions, etc.
```
```MIPS is a useless metric. A secretary applying for a job say that her speed
is 300 words per minute. Ure impressed!
BUT little did u know all she type is the word "I"
Thats what the MIPS is.
Normally a product of actual power * time to implement a certain algo is a
good metric. Try to see which benchmarks ure appln is close to
(DHrystone/Whetstone )benchmarks. one of these is for scientific
calculations