1. A method for dynamically predicting the resource requirements of hardware transactions, the method comprising: predicting resource requirements of a first hardware transaction to be executed based on any at least one of a first resource hint and a previous execution of a first prior hardware transaction; predicting resource requirements of a concurrent hardware transaction based on at least one of a second resource hint and a previous execution of a second prior hardware transaction; allocating resources for the first hardware transaction and the concurrent hardware transaction based on the predicted resource requirements; executing one or more of the first hardware transaction and the concurrent hardware transaction; and saving resource usage information for one or more of the first hardware transaction and the concurrent hardware transaction for future prediction.