Quicksort vs heapsort

Zarówno quicksort, jak i heapsort wykonują sortowanie na miejscu. Co jest lepsze? Jakie są zastosowania i przypadki, w których jest to preferowane?