We present and analyze two algorithms for computing the Hilbert class polynomial HD. The first is a p-adic lifting algorithm for inert primes p in the order of discriminant D < 0. The second is an improved Chinese remainder algorithm which uses the class group action on CM-curves over finite fields. Our run time analysis gives tighter bounds for the complexity of all known algorithms for computing HD, and we show that all methods have comparable run times.