1. A computer system for dynamically predicting the resource requirements of hardware transactions, the computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, the method comprising: predicting resource requirements of a first hardware transaction to be executed based on any one of a resource hint and a previous execution of a prior hardware transaction; allocating resources for the first hardware transaction based on the predicted resource requirements; executing the first hardware transaction; and saving resource usage information of the first hardware transaction for future prediction.