有没有应用机器学习来提高代码性能的例子?

3
我看到了 Facebook 的 Keith Adams 所做的 talk,比较了机器学习技术和调整代码以提高现实世界性能的方法。有没有类似自动化技术在实际项目中应用的例子?我知道某些编译器中有基于剖面的优化以及一些 JIT 编译器使用的技术来提高性能,但我想到的是更根本的改进代码性能的方式,可能需要改变代码本身而不是代码生成。例如:
  1. 选择特定网络应用程序的最佳缓冲区大小或为特定应用程序选择正确的堆栈大小。
  2. 在多线程应用程序中选择结构布局,以提高本地缓存性能同时减少虚假共享。
  3. 为某个算法选择完全不同的数据结构。
我阅读了关于 Halide 的 paper,它是一个图像处理框架,使用遗传算法自动调整图像处理流水线以提高性能。这样的例子或任何研究指针都将是有用的。
2个回答

2

请看Remy的网站。 它使用基因优化方法来生成网络拥塞控制算法,显著提高了网络性能。用户需指定网络使用条件,Remy将生成用于该网络数据节点的控制算法。结果令人惊叹,Remy优于目前所有由人类开发的优化技术。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接