It is commonly believed that polymorphic program analyses with subtyping are too computationally expensive to be feasible. Recent work has shown that a class of analyses having polymorphism and subtyping can be implemented in worst case cubic time. It is however unclear how often the worst case behaviour is exhibited in practice and it might be the case that they in practice are cheap enough to be feasible. The aim of this thesis is to evaluate how a recently proposed constraint solving algorithm behaves in practice on real world programs. In order to do so a type based polymorphic usage analysis with subtyping is designed for a real world functional language. Previous usage analyses have either been designed for toy languages or have not been equipped with both subtyping and full-blown polymorphism. The analysis handles the complete language Core which is the intermediate language of the Glasgow Haskell Compiler. The analysis has been implemented and used to analyse a number of programs taken from the "nofib" suite which is a standard test suite consisting of real world programs. The constraints generated from these programs have been used to measure the scalability of the constraint solving algorithm. The results of the measurements are promising but not conclusive, the constraint solving algorithm is shown to scale up for all but two tested programs.