On Windows it extracts only one message per frame.
This is not true. I am a gamedev myself and you would definitely not only extract one message per frame. If this is the case that code needs to be changed. But true, if the message pump is flooded with messages it might slow things down a bit.
It also depends on the input system used. If D:OS uses DirectInput it does not use Windows messages at all.