Timers usually run in separate thread, so you getting a lot of task-switching with this. Same as with SDL_Delay
, it isn't guarantee that your process will sleep specified time, - rather at least specified time.
So, the answer for your question is - timers aren't come for free. There will be a cost for their frequent usage, but it is unlikely that you'll notice it. But since you can't rely on timer interval, it isn't looks like a good idea.