What is the minimum period over which loop() is executed?

There are several threads dealing with this or similar questions
e.g.
Timing of the calls to loop()
Spark Core Execution Speed (deals with Core but the general idea stays the same)

If you have more time critical tasks you'd have to use other SYSTEM_MODEs or interrupts or both, till FreeRTOS arrives in the Particle universe.

What do you have in mind?
Fast enough for what?
What kind of switch would you debounce that bounce less than 1ms?
How do you intend to debounce?

For my understanding even with a loop() frequency of 1000Hz (or even 200Hz as for the Core) debouncing is advisable.