0

What is the best way to determine how many additions, multiplications, exponentiations etc does a processor perform per second according to its specifications (frequency, memory type etc)? E.g. an Intel i7? The goal is to estimate the performance of a program/service before choosing on what machine it is deployed.

Thanks!

1 Answers1

0

This is almost impossible these days.

Modern processors have many tricks up their sleeve; for example, branch prediction, which gives very different results for different implementations (see the popular Why is it faster to process a sorted array than an unsorted array? question).

I think your best bet is checking benchmarks (e.g., http://www.cpubenchmark.net/high_end_cpus.html), as these provide the 'overall' picture you're looking for.

Community
  • 1
  • 1
Sanchises
  • 847
  • 4
  • 22
  • And how can I make an estimation for the i7 processors from benchmarking? In my code, I count instructions and their types, I do not know how many cycles is each one of them. – user3785839 Jul 07 '14 at 10:37
  • Compare the benchmarks of your system to the i7. But again, I deem it close to impossible to determine exactly how well your program will run - why exactly do you need such an exact estimation? – Sanchises Jul 07 '14 at 11:53