regex-alternation

Why is a character class faster than alternation?

It seems that using a character class is faster than the alternation in an example like: [abc] vs (a|b|c) I have heard about it being recommended and with a simple test using Time::HiRes I verified it (~10 times slower). Also using (?:a|b|c) in case the capturing parenthesis makes a difference does...