It hasn’t - as long as it works normally. But from time to time it gets kind of ‘stuck’ and in such state it consumes CPU time.
Normally, it uses around 1 second of CPU time when it gets touched and attempts to recognize the fingerprint, and after that it doesn’t use any CPU time until it is touched again. One can check it in e.g. Crest: open details of the /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.sony
process, check the CPU time consumed so far, then turn off the display and wake it up by touching the fingerprint sensor. Then re-open the page with details of that process - the CPU time will increase by 1 second.
In such case, even after several days the CPU time consumed by that process is just seconds - simply 1 second per each fingerprint recognition.
But quite often it gets ‘stuck’ - it doesn’t deactivate itself and continues using CPU time. In such state it not only eats power but it also stops reacting to touches.
See the screenshot below (from Crest) - it is after the sensor got stuck and ate over 40 minutes of CPU time. Normally, for that process to use 40 minutes of CPU time it would take 1 second * 60 * 40 = 2400 fingerprint scans, i.e. weeks of uptime. But when it gets stuck, it eats this much CPU time within minutes.
Resetting the sailfish-fpd service doesn’t seem to have any impact on this /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.sony
process.