I am developing an AngularJS app, and the server side PHP, step by step, implementing features and then polishing them.I currently periodically request data from the server, of the order of a few thousand records of 5 or 6 items each. As the next step, I had planned to send a CRC with the request and have the server response with a special response to say the data have not changed, if that were the case, to save bandwidth and speed up the app.Now I am about to add a grid to show data. I was thinking of a viewport of maybe 20 items, with the user either scrolling or paging through the data. Which would mean sending requests for small chunks of data (20 objects), rather than all (2,000 objects). I can handle sorting the grid client-side, but I was thinking of offering incremental search.Incremental search would mean sending a new AJAX request with very keystroke, possibly after some debounce. Are there any ballpark figures for this? I am trying to decide if it is a good idea, or if round trip time might cause bad UX.Note that I am not asking for any best approach, just for some data which can help me decide how to implement. 
When virtual scrolling/pagination meets incremental search
ajax;profiling;pagination