Speed up token fingerprinting
A substantial amount of time is being spent computing fingerprintFromTokens
. In a profile run where 160 vouchers were redeemed for 160000 tokens PaymentServer spent 86% of its time computing this function. Worse, this appears to be computed while a write lock on the SQLite3 vouchers database. This makes for severe contention issues under any kind of load.