1. A method for bounded hash table sorting during dynamic whole program profiling of program code as the program code executes, the method comprising: instrumenting program code to identify a sequence of basic blocks in dynamic program order; storing characterization information corresponding to program regions of the program code in a hash table, said hash table comprising a plurality of buckets wherein each bucket comprises a plurality of entries; and sorting entries of a bucket of the hash table, in response to detecting a timing condition and a table condition are satisfied.