>Optimized for what? You started the thread because it's too slow. If it doesn't depend on the server, where does it get the data for the refresh? SignalR there is no loop. The data is pushed to the client when there's something new. Polling as you're describing is an older technology. Web Sockets is the way to go and Signal R is the way to do it.
The code provided references an array.
In that code, it is not about getting new content from the server but to actualize the time stamps of active content on the page.