2009-11-14 99 views
1

其实我正在做一个实现编译器优化技术的重大项目。我已经知道现有的技术,但我很困惑选择什么技术以及如何实现它。编译器优化实现

+0

你能更具体吗?例如,你不清楚你在谈论什么技术。 – 2009-11-14 12:00:09

+1

我在这里没有看到问题。 – Novelocrat 2009-11-16 03:11:09

回答

1

假设您有一个编译器进行优化,并且如果它不是由您编写的,请查阅文档以查看缺少的内容。否则,如果它是由你写的,你可以从最简单的开始。最简单的定义将取决于您的编译器所使用的语言。或者我错过了什么?

2

G'day,

你在说什么优化领域?

编译器优化如:

  • 循环优化
  • 数据流优化
  • 静态单分配基于优化
  • 码发生器优化

还是优化编译器本身的性能,即它的工作速度?

-1

恕我直言,要做的事情是实现简单明显的优化,然后让它休息。当然,尝试做一些奇怪而美妙的优化来矫正用户可能会编码得更好一些的东西是非常有趣的,但是如果你确实想在糟糕的编码或糟糕的设计之后尝试清理,用户总是可以超越你。 This is my favorite example.

我最喜欢的编译器 - 优化 - 结束 - 坚果的例子是Fortran编译器,他们去了这样的长度来打乱代码来修改代码几乎无法调试的几个假设周期,通常程序计数器是在那里只有不到1%的时间,所以这种努力被浪费了。

0

我想你可能已经优化了你的问题。你是否试图决定从哪里开始或试图决定是否有一些优化值得实施,而其他则不是?我会假设所有现有的技术都有一个地方,并且根据他们遇到的代码是有用的。如果你决定先做哪一件事,那就选择一件你可以做的事吧。选择低垂的果实。在解决困难之前,在你的后兜里获得几个胜利,然后绊倒并沮丧。我会假设真正的诀窍是在那里进行所有的优化并且工作,但是想出一种方法来决定哪些产品对于特定程序更好,哪些产品会阻碍并使事情变得更糟。