本发明提供一种基于机器学习的循环分块大小选择方法,针对原始DOALL循环进行合成程序构造,通过列下标元组的全排列使合成程序中的n层嵌套循环的特征值全面覆盖到原始程序以及真实应用程序中的循环;通过对n层嵌套循环变换得到的2n层嵌套循环的最内n层循环都进行特征值提取,同时通过全局搜索的方法获得n层嵌套循环的最优分块大小向量,形成神经网络训练样本集;经过训练和性能分析,得出最优分块大小预测模型,即可对真实应用程序中的DOALL循环进行分块大小预测。通过本发明提出的合成程序构造、特征值提取方法,结合机器学习过程,可以相比现有方法拥有更高性能的循环分块大小。