为什么Javac不在多核上运行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Javac不在多核上运行?相关的知识,希望对你有一定的参考价值。
它看起来很普通,但是javac不能同时编译的技术原因是什么?我读到eclipse编译器是并行的,为什么不用javac呢?
答案
编译器实际并行工作是非常不寻常的,我找不到任何说明Eclipse的Java编译器是例外的资源。
eclipse有能力做的是同时并行编译多个文件。这与Eclipse自带的Java编译器无关。如果它确实使用了javac,它可以并行运行多个javac
实例 - 这没有问题。事实上,当您运行具有多个线程的构建时,正是构建工具(如maven)所做的事情。
另一答案
我认为它使javac程序变得简单,如果它是内部并行的,那么必须处理许多竞争条件,这使事情变得复杂。要使用多核,你可以创建多个javac进程来达到同样的目标,似乎makefile和gcc就是这样工作的。
“保持简单和愚蠢”
以上是关于为什么Javac不在多核上运行?的主要内容,如果未能解决你的问题,请参考以下文章
为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误
Android Studio Map setOnMarkerClickListener 不在片段上工作