Performance heavily depends on your implementation. I optimized quite some abstract table models, and the one thing that makes it crawl like a snail is validation logic. Even for relatively small models, Qt performs a few thousand calls into your model. If you do complex index validations (i.e. defensive programming, always expecting invalid data), the model will be very slow with noticable lags above around 100-500ms per action you perform.