What are the differences among Pellet, HermiT and FaCT++?

Hi,

A endlessly reasoning time occurs during reasoning with Pellet against my ontology constructed based on DL. However, i tried it again with HermiT, which works well. So, i wonder what are the differences among Pellet, HermiT and FaCT++. I hope to get your ideas on the topic, or show me portal where i can find the answer.

Thanks in advance!

Although it unfortunately doesn't include FaCT++, the paper "Benchmarking OWL Reasoners" seems to have a good brief overview of the different reasoners and their relative performance for certain tasks.