为什么Javac不在多核上运行?

问题描述 投票:2回答:2

它看起来很普通,但是javac不能同时编译的技术原因是什么?我读到eclipse编译器是并行的,为什么不用javac呢?

java parallel-processing compiler-construction javac multicore
2个回答
1
投票

编译器实际并行工作是非常不寻常的,我找不到任何说明Eclipse的Java编译器是例外的资源。

eclipse有能力做的是同时并行编译多个文件。这与Eclipse自带的Java编译器无关。如果它确实使用了javac,它可以并行运行多个javac实例 - 这没有问题。事实上,当您运行具有多个线程的构建时,正是构建工具(如maven)所做的事情。


-2
投票

我认为它使javac程序变得简单,如果它是内部并行的,那么必须处理许多竞争条件,这使事情变得复杂。要使用多核,你可以创建多个javac进程来达到同样的目标,似乎makefile和gcc就是这样工作的。

“保持简单和愚蠢”

© www.soinside.com 2019 - 2024. All rights reserved.