【发布时间】:2013-12-03 00:10:59
【问题描述】:
我看到 Facebook 的 Keith Adams 撰写的 talk 比较了机器学习技术与调整代码以提高现实世界中的性能。有没有在实际项目中应用这种自动化技术的例子?我
我知道某些编译器中的配置文件引导优化以及 JIT 编译器用来提高性能的一些技术,但我正在考虑更基本的方法来提高代码性能,这可能需要更改代码本身而不是代码生成。比如:
- 在特定网络应用程序中选择最佳缓冲区大小或为特定应用程序选择正确的堆栈大小。
- 在多线程应用程序中选择结构布局可提高本地缓存性能,同时减少错误共享。
- 为特定算法选择不同的数据结构。
我在 Halide 上阅读了 paper,这是一个使用遗传算法自动调整图像处理管道以提高性能的图像处理框架。像这样的例子或任何研究指针都会很有用。
【问题讨论】:
标签: performance machine-learning performance-testing