Hello World
Spiga

标签:编译器

浅谈Jscex编译结果的优化

2011-05-05 10:45 by 老赵, 994 visits
摘要:Jscex的核心是一个JavaScript语言到Monadic形式的编译器。从理论上说,这种编译规则十分简单,要写一个能够“正常运行”的编译器很容易。但是“正常运行”不代表足够优化。优化不当,会导致生成的结果中产生太多函数及闭包,对性能产生负面影响。在Jscex的早期原型中,从AST生成最终代码的逻辑比较简单,只做了一些基础优化。后来重构了编译器,减少了不必要的代码。而上周我提交了更新,实现了更复杂而有效的优化策略。如今的Jscex编译器部分应该已经足够稳定,剩下的便是类库方便的发展了。 阅读全文

编程语言的发展趋势及未来方向(5):元编程

2010-05-30 09:42 by 老赵, 5549 visits
摘要:这是Anders Hejlsberg在比利时TechDays 2010所做的开场演讲。由于最近我在博客上关于语言的讨论比较多,出于应景,也打算将Anders的演讲完整地听写出来。在上一部分中,Anders谈及了他眼中编程语言的另一个发展趋势:动态性。在这一部分中,Anders则讨论了动态语言所擅长的“元编程”,并简单介绍了他为静态类型语言所设计的一种改进方案:编译器即服务。 阅读全文

哥谈的是语言,不是寂寞

2010-02-20 13:48 by 老赵, 10722 visits
摘要:经常看到一些文章在谈论语言,例如“哪个语言更有前途”,“语言选择是否关键”。我是个语言粉丝,但是看到这些文章总有一些奇怪的感觉。因为在我看来,这些文章谈的东西都不是我眼中的语言——可能与国内技术环境有关,语言本身被淡化了,例如,谈语言的时候涉及更多的却是“平台”方面的内容。那么我现在便来描述一下我眼中的“语言”该如何谈论吧——下次在我猛砍Java语言时也好有个参考。 阅读全文

浅谈代码的执行效率(2):编译器的威力

2010-01-07 16:06 by 老赵, 8435 visits
摘要:在上一篇文章中,我主要表达了这样一个观点:影响程序效率的关键之一是算法,而算法的选择与优化,和是否多一个赋值少一个判断的关系不大。关于算法的选择,我谈到其理论上的复杂度,并不直接反映出效率。因为在实际运用时,数据的规模,形式等等都会涉及到算法的实际效用。一个时间复杂度低的算法并不代表任何情况下的效率都高。这是“实际”和“理论”的区别之一。现在我打算来谈一下另一个比较“实际”的东西:编译器对于程序效率的影响。 阅读全文
1
使用Live Messenger联系我