@Warren Burton, Thanks! Yes, I'm sure it's a sorting performance problem. Each time the user tap the app, there're tens to hundreds of calculations are working depending on the latest sorted value. I have tried to use async/await, the result is not that good, still feels stuck.