zoukankan      html  css  js  c++  java
  • Java compiler 并行编译思考

    一、问题

    最近基于JSR269做的代码插桩有一个编译问题需要定位,而且问题不是每次都能复现,需要多编译几次才行,出问题的项目是Maven构建的,相对较大,每次构建耗时就比较长。所以我就想,是否有什么配置项能加快编译的速度,比如:并行编译?最近在看Javac源码,也的确没有发现有任何多线程处理源码编译的痕迹。

    二、过程

    经过一番Google发现不只我有此疑问,在文章最后放上了检索的一些链接。有一个典型的声音:

    Javac is a very fast compiler. If you have a project that’s so large as to bottleneck on compilation time, I’m impressed.
    

    意思就是javac编译速度很快,很难有项目的源码能大到成为编译期的瓶颈。But...当前的问题是:项目编译时间比较长。

    三、结果

    经过一番搜索,确定了两件事:

    1. 确定了javac本身是不支持并行的,还翻到了一篇论文就是研究并行编译的
    2. Maven 3.x之后可以并行构建了,可以提高构建速度,模块依赖Maven会自动保证,不需要担心
      命令可以这么写:
    mvn -T 1C clean install
    
    

    详细参考,试了一下,执行速度提升了一倍多。
    IDEA里也是可以配置的:
    IDEA配置

    四、参考链接

    1. What javac option(s) tell it to use all available cores for compiling?
    2. 一篇联合论文
    3. Maven: how to do parallel builds?
  • 相关阅读:
    git
    Django RestFramework
    vuex以及axios
    npm 、webpack 、 vue-cli
    vue的生命周期
    vue-router
    vue框架 (小清单)
    nodejs review-01
    npm-bluebird使用
    js整理4
  • 原文地址:https://www.cnblogs.com/liushijie/p/10646198.html
Copyright © 2011-2022 走看看