What is NPS (the "K value")? Does it represent playing strength?
NPS (Nodes Per Second) is the average number of positions searched per second, which you can think of as search speed. Because it is often expressed in K (thousands), it is also called the K value.
Besides the GUI displaying nps directly (almost always next to the engine's score), the engine itself also provides the bench speed test; see What is bench, and what do its results tell you?.
But speed has little to do with playing strength. For example, NNUE slows nps considerably, yet it is still stronger than traditional evaluation engines (of course, with everything else equal, faster is better).
The nps of different engines, or of different versions of an engine, cannot be compared with each other. nps is only suitable for comparing the strength of machines: run the speed test several times with the same engine, the same version, the same settings and the same position. The higher the measured nps, the higher the machine's computing power.
nps does not represent the engine's own playing strength. The only indicator of playing strength is scientific test data. Only when the engine is the same (for example the same version with different instruction sets, or the same version on different machines) can you compare strength through nps.
Generally, nps is higher in positions with fewer pieces and simpler, steadier variations. When people quote nps, they usually mean the opening-position nps or the nps from a bench speed test.
Some other engines or remote cloud engines inflate nps (usually the node count too) to make it look faster, for example by multiplying by 6 or by 2.5.
Pikafish's nps is real. If Pikafish's nps is only a few dozen k per second (that is, a few tens of thousands per second), something is very likely wrong.

