baibaichen opened a new pull request, #11560:
URL: https://github.com/apache/incubator-gluten/pull/11560

   ## What changes are proposed in this pull request?
   
   This PR optimizes incremental build time by:
   
   1. **Moving `build-info` and `build-info-with-backends` execution phase** 
from `generate-resources` to `prepare-package`
      - Build info is only needed in the final JAR, not during compilation
      - This prevents unnecessary recompilation when running `test-compile`
   
   2. **Upgrading `protobuf-maven-plugin`** from 0.5.1 to 0.6.1 and enabling 
incremental compilation via `<checkStaleness>true</checkStaleness>`
      - Proto files are only regenerated when sources actually change
      - Plugin logs: `Skipping compilation because target directory newer than 
sources`
   
   ### Benchmark Results
   
   | Metric | Before | After | Improvement |
   |--------|--------|-------|-------------|
   | Total Build Time | 150.5s | 69.7s | **-53.7%** |
   | Gluten Substrait | 52.09s | 8.67s | -83.4% |
   | Gluten Core | 24.62s | 6.83s | -72.3% |
   | Gluten Backends Velox | 35.13s | 16.93s | -51.8% |
   
   Fixes #11559
   
   ## How was this patch tested?
   
   - Tested with Maven Profiler on the following command:
     ```bash
     ./build/mvn -P 
java-17,spark-4.0,scala-2.13,backends-velox,hadoop-3.3,spark-ut \
       -Piceberg,iceberg-test,delta,paimon test-compile
     ```
   - Verified CI/CD workflows still use `mvn install` which triggers build-info 
generation in `prepare-package` phase
   - Build completes successfully with all 20 modules
   
   ## Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: GitHub Copilot (Claude Opus 4.5)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to