Speed is an important consideration when programming using parallel processors. Speed is measured against the speed it takes a single processor to preform the same task. For example, the optimal sorting speed of a single processor is O(N log N), but a machine with N processors would have a speed of O(log N). This is significantly faster than a single processor. However, we should not assume that we will have the same amount of processors as data values. That would result in poor analysis because that would very rarely occur outside the theoretical world, and processors cannot be added if more values are added. Even so, it is an easy place to start.
Cost is another important factor when analyzing programs that use parallel processors. Cost is measured by the (time of the algorithm x number of processors used), so the more processors the more costly it is, even if it's faster. To use the example from before, if the speed of the sorting algorithm was O(N) for a program with parallel processors, and there were N processors used, then the cost is O(N*N), which is greater that the single processor cost of O(N log N). This is another reason to be conscience of the number of processors we use in our programs because it makes a significant impact on the cost of the program.