为什么用于密集计算的非编译脚本语言不是很好?

时间:2013-12-01 17:15:09

标签: javascript compiler-construction

我正在阅读一本关于网络技术的电子书,我发现了这一点。

  

JavaScript本身就是一种语言(从理论上说它并不是束缚的   对于Web开发而言,它受到大多数Web客户端的支持   平台,它有一些面向对象的功能。 JavaScript是   不是编译语言,所以它不适合密集计算   或者写设备驱动程序,它必须在一个部分到达   客户端浏览器被解释,因此它也不安全,但它   在网页中使用时做得很好。

我的问题是为什么我们不能使用JavaScript进行流程密集型计算?它没有在书中描述。但是,我也使用JavaScript用于移动应用程序,在某些方面我们做了很大的计算。非编译语言如何对此产生影响?

1 个答案:

答案 0 :(得分:3)

这两部分。 在非编译语言中,您必须使用命中来编译或解释它。优化可以降低成本,即缓存编译结果,当然这会引入复杂性并耗尽内存。 另一方面是在编译程序之后,可以调整结果并针对特定目的进行专门优化。

你必须考虑上下文,一个计算隔离一个特定的Calibi-Yau空间估计需要4年才能在当时最好的超级计算机上完成。因此,你对大文章和撰写文章的人的定义可能无法比较。当然,他们可能是那些微优化类型之一...

使用现代编译器/解释器和您可以编写的最优化的代码,必须是一个真正的边缘情况,这是重要的,并且预编译的代码在这些场景中几乎是给定的。