I know the question of "how many iterations should I use with PBKDF2" is asked quite often, and the answer is typically "test and see what's practical."
However, my key derivation will be taking place on theoretically any client, and does not happen on the server side. So it could be on an iPhone, Android, PC, Mac, Web, etc.
On my Mac, using WebCrypto and Chrome, 1,000,000 iterations takes less than a second. However, I can't test this on other clients not in front of me.
I know the best answer will be "test on every client you plan to support."
However, if we were to establish some baselines for what a "modern computing device" would be, how can we calculate an optimal number of iterations?
Assume here that we define the minimum for what constitutes a modern computing device as: Any smartphone released in or after 2015.