# “Performance” to indicate speed ambigous?

I am writing about algorithms in a paper and I wonder how to best express increasing the speed of an algorithm. Is it clear when I write "The performance increased by doing X" or can this be ambigious, as performance can also be measured in the quality of the output? "The algorithm has been sped up" sounds somehow strange and informal to me but I'm not a native speaker.

P.S.: If the algorithm is both faster and the output has a higher quality, can I write "The performance has been increased both qualitatively and quantitatively" or is it not clear that quantitatively relates to the speed? How to rephrase that?

I can't comment. Sorry about this, I had a question, but... I'll have to make it into an answer.

It sounds like you want to use Big O notation, which is helpful when talking about algorithmic efficiency. In which case, Big O Notation might be the best bet for you right now. I was going to comment to ask if your problem could be solved with this, but just in case the answer to that is no, here's a less technical answer.

If you're trying to talk about a specific resource (time, manpower, etc. etc.) then you need to state what that resource is instead of saying "performance" (because like you said, it does get confusing). For example, say your algorithm uses less time if you give it a sorted list of items to parse through. Then you can say:

The time taken for X_algorithm to run is decreased when the list is sorted.

And if the decreased time is significant, you could say:

The time taken for X_algorithm to run is greatly decreased when the list is sorted.

If, by changing the algorithm slightly, the end product turns out to be better quality because of the changes made, you might say:

Not only does sorting the list of inputs shorten the runtime, but X_algorithm also produces more relevant results.

That way you're talking about both things that have increased in quality.

If you don't know (or can't use) Big O Notation, my only real helpful comment is to stay away from the word "performance" because it's too general. Since performance is something that varies depending on what aspect of the algorithm you look at, you either need to define performance as "time taken for the algorithm to run/algorithm speed" beforehand or constantly mention that the performance has to do with speed. But if you just say "the performance increased when XXYY" then the reader can assume the performance is anything-- the quality of the answer, the time taken, the space used in memory-- and increased performance could take on different meanings with different contexts.

Finally, if both the runtime and the output have become better quality, "quantitative" doesn't necessarily evoke the meaning you think. Even making up a word like "speedwise" to put into that sentence could explain what you're thinking better. (But don't make up words, though.) It could be clarified by saying something along the lines of:

Because the runtime has changed, the quality of the output is more/less relevant.

Or:

When we change the time it takes for the algorithm to run, we also see a change in the quality of the output.

If you define performance beforehand, though, you could just say something like:

The performance and the end product have both increased in quality.

You are correct, "performance" is ambiguous. You could simply say:

the algorithm is faster (than the old one)

but you probably want to indicate by how much its speed has increased:

the new algorithm is n% faster than the reference version.

If you have more than one number (n% for problems of class X, m% for problems of class Y), you should present the results in a table. Sentences stuffed with numbers are difficult to read and can lead to misinterpretation.

The performance has been increased both qualitatively and quantitatively

You could rephrase this as:

The algoritm is faster and produces better-quality output.

That still leaves unsaid what the quality of the output constitutes. How do you decide if the quality is good or bad? Make this explicit:

The algoritm produces output that conforms to our mathematical model with an error of less than .00001%