Great question — answering as the UphillTech team:
Shopify sites do render on page load however there is some caching too. If you add: {{ 'now' | date: '%s' }} you will be able to see the time change on a per second basis. Although this is cool it isn't very reliable for time based functions because of the caching. Having 30 - 40 if statements may cause some performance issues, but Shopify is running on pretty speedy AWS servers so I rarely notice any speed drops from overly complex pages. I have created large files of if statements that include different files on certain conditions and haven't noticed any problems. Try checking out the network tab and seeing how long it takes to return a response from the first request. If you are...
Full answer by GeorgeButter: https://stackoverflow.stackexchange.com/a/47425184 (CC BY-SA 3.0).
Want it for your business? UphillTech.