Speed depends completely on the number of posts and speed of your server. As for scheduling you can look at the following link for a WordPress Scheduled Event. You can set this so it runs the first time someone visits the site each day. The other option would be to create a cron job but I will let you look that up if you need it.
https://codex.wordpress.org/Function_Reference/wp_schedule_event