I keep getting the red underlining in Word whenever I write the word "performant". Here I intend to refer to something that performs well or better than something else (i.e., it's more performant).

Is there something wrong with that word? Does it mean what I actually want it to say?


Solution 1:

Whether or not "performant" is actually a real word has been debated for some time.

It does not appear in the dictionary, nor does Google definitions include it.

While it has been used before and appears in wiktionary, I would tend to avoid using it until the word becomes, well...a word.

Is there any reason you could not use one of the following instead?

Example A performed better than Example B.

or

Example A outperformed Example B.

Jon Galloway's blog article Performant isn't a word is an example of someone who used "performant" extensively only to be told it was not a word. While the research he did on the subject was conducted in 2007, it certainly seems to remain valid today.

Solution 2:

I use the word performant often, and its meaning (in my opinion) is subtly different from that of fast or efficient. The most performant network might not be the fastest, or the most efficient, but the one which provides the best overall service.

My IT systems are both performant and resilient.

The above seems (to me) to be very succinct. The word performant implies speed, accuracy, flexibility and capability — it implies that my IT systems are just right for my environment. They might not be the fastest, and not necessarily the most feature-packed, but they're just right for my needs.

I like performant.

Solution 3:

It does mean what you want to say, possibly, but it's not the clearest way of saying it.

Performant is being increasingly used, therefore it deserves to be considered a word. I still have misgivings about it though, largely because it seems redundant: you could instead say "fast" or "efficient".
If something's fast, why not just say so, instead of using the word performant?
And more performant is even sillier, when you could just say faster.

At the moment, it's still the sort of word you tend to see written in press releases or spoken by marketing people. To me it's a weasel-word like "premier", which sounds promising but technically meaningless and legally non-binding (what does "premier" actually mean? First, biggest, fastest, best-selling or highest ranking sales by value?)

The word performant could mean one of several things depending on the context (fast, efficient, small, optimal) and not using one of those alternative words suggests (to me) that the speaker/writer doesn't know what he's talking about, or for some reason doesn't want me to know what he's talking about.

Go ahead and use the word if you like, but I won't trust you, because you'll sound like a sales brochure.

Solution 4:

In French, it's an actual word that means something like performs effectively, efficiently, and well. So, French students use it regularly because it sounds like English, although I'd classify it as a false cognate.

Solution 5:

The word performant is engineering jargon for something that may not be objectively efficient or optimal/fast but meets the performance expectations for which it was created. When an engineer uses the word performant, they mean that it's as fast and efficient as you would intuitively expect it to be. It's not meant to declare that it's the optimal or best solution, just that after working through the problem, it's the solution he settled on, and it was as fast and efficient as he expected it to be while still remaining within other project constraints.

EDIT: Thanks to Sven for contributing a link to this page where the writers associate the degree to which an entity is performant to how well they satisfy some objective. This is very much how I've seen this word used among engineers; something is deemed performant not by merely being fast but by meeting an objective for speed.

It's all about context and connotation. If I improve part of a system that will also improve performance, I might mention in a meeting that I made the part of the system more performant, which could mean that I made it use less memory or processor time, eliminated a redundant and expensive call, used a better algorithm, replaced an external call with an internal one, the list goes on and on. But most everyone at the meeting only cares about the result, and they'll come to me afterwards to discuss the change if they are curious.

It will probably make it into the dictionaries eventually, but in the mean time there's little reason not to use the alternatives, especially since you're writing a document. If you really do want to say something is performant, you can instead outline the metrics for your comparison and use a more appropriate word like other answers have suggested. On the other hand, depending on your intended audience, throwing a buzzword like "performant" in may be helpful. Just use it with care outside of engineering circles.

For inquiring minds:

It's easy to illustrate how the word performant is used in software engineering. Consider sorting a set of numbers from smallest to greatest. Every first year Computer Science student learns the Quicksort algorithm. It is the go-to sorting algorithm because it tends to behave optimally in practice. It has a flaw, however, that can make it abysmally slow on some lists. One of the first and simplest sorting algorithms a student is introduced to, called Insertion sort, can handily beat it in some cases, even though it's usually a very bad choice of sorting algorithm (for large lists).

Which leads to a conundrum: if performant could be simply interchanged with optimal or best, which sorting algorithm would be performant: Quicksort, or Insertion sort? The answer is, "It depends."

It's that way with every algorithm. If you ask someone if their code is efficient or fast, the answer must always be "It depends." How do you define efficient? How do you define fast? And so the "made-up" or "invalid" word performant was born. It allows developers to state with certainty that given resource constraints and expectations, including how much time the developer was given to solve the problem, the proposed solution is performant. It usually implies that performance goals were taken into account, but doesn't exaggerate by saying that it is the fastest solution possible.

In some way, I think developers like to use it because the longer you write software, the humbler you become. I prefer to say that my code is performant (i.e. performance meets expectations) than to say that it is fast or the best way to handle something, because inevitably someone comes along and creates a way better than mine. It's the nature of engineering, all of us standing on the shoulders of giants. It may seem noncommittal, but what exactly do you say when you write something that you know will be obsolete months or years after it's written?

All of that said, whether it is a "word" by anyone's definition, I guarantee it will continue to be used in development circles, as it is not as interchangeable as people outside the field think.