Seriously people, stop with the "events are slow, use realtime input".
Events are not slow. You can write a huge application that relies completely on events for input without any problems.
Events and the realtime input functions serve different purposes, but event slowness is not one of those purposes.
If it takes 4-5 seconds to react to an event you are doing it wrong - no way around that.
In my own code I deal with a ton of events every single frame, update physics, update GUI elements, do network handling and much more and at 60fps I have loads of CPU time to spare every frame.
Please stop guessing about where performance problems hide and blame events as a reflex. Instead, measure performance, by using a profiler and then fix the actual performance bottlenecks rather than just guessing based on gut feeling and intuition (which never (well, very rarely) works).
Also make sure that basic stuff is in order, like updated graphics card drivers, building with optimizations enabled, enable compiler warnings, make sure you know the language and library you use well (yes, I know, that can take years) etc etc.
And for the love of $DEITY, check your designs; don't do pointless work - check your loops, use standard algorithms (<algorithm> and friends), use RAII and not manual memory management, banish global variables (and yes, that includes horrors like singletons) and read the tutorials (they really are very good) and be systematic in your bug hunting (and use a debugger).
OK. Rant over. Just had to get that off my chest. It's amazing how many times the same mistakes are made again and again.