The objective analysis of an algorithm is to determine its efficiency. Efficiency is based on the resources which are used by the algorithm. For instance,
- CPU utilization (Time complexity)
- Memory utilization (Space complexity)
- Disk usage (I/O)
- Network usage (bandwidth).
There are two significant attributes to analyze an algorithm. They are given:
Performance: How much /memory/disk/network/ time bandwidth is actually utilized when a program is run. This based on the machine, algorithm, compiler, etc.