[ 
https://issues.apache.org/jira/browse/CALCITE-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Sitnikov updated CALCITE-2558:
---------------------------------------
    Description: 
{code:xml}
<groupId>org.apache.drill.tools</groupId>
<artifactId>drill-fmpp-maven-plugin</artifactId>{code}
has builtin verification if the generated files differ from the results of 
previous generation.
 It saves compile times, and it creates no risks.

It enables to improve pom.xml as well (we can remove {{generate-parser}} build 
profiles)

Benchmark: {{mvn test-compile -Dcheckstyle.skip=true}}
{noformat}
                                    BEFORE 1  BEFORE 2  AFTER 1  AFTER 2
Calcite 1.18.0-SNAPSHOT ...........    1.099     1.059    1.084    1.041
Calcite Linq4j ....................    0.793     0.765    0.700    0.747
Calcite Core ......................   21.059    18.090    9.924    1.883
Calcite Babel .....................    1.881     1.681    0.835    0.709
Calcite Cassandra .................    1.054     0.856    0.780    0.725
Calcite Druid .....................    0.640     0.651    0.610    0.649
Calcite Elasticsearch .............    0.863     0.834    0.794    0.803
Calcite Examples ..................    0.013     0.014    0.013    0.013
Calcite Example CSV ...............    0.598     0.581    0.590    0.584
Calcite Example Function ..........    0.575     0.599    0.583    0.589
Calcite File ......................    0.864     0.853    1.001    1.787
Calcite Geode .....................    0.698     0.699    0.682    0.693
Calcite MongoDB ...................    0.581     0.679    0.601    0.627
Calcite Pig .......................    0.902     0.843    0.819    0.771
Calcite Piglet ....................    0.784     0.745    0.818    0.577
Calcite Plus ......................    0.632     0.631    0.631    0.607
Calcite Server ....................    1.816     1.507    0.657    0.736
Calcite Spark .....................    1.262     0.808    0.840    0.780
Calcite Splunk ....................    0.660     0.584    0.593    0.616
Calcite Ubenchmark 1.18.0-SNAPSHOT     1.630     1.120    1.649    1.139
------------------------------------------------------------------------
                                      38.712    33.908   24.532   
16.373{noformat}

  was:
fmpp should not overwrite the destination file if the contents is the same.

Relevant issue is here: https://github.com/freemarker/fmpp/issues/11


> Improve re-compilation times by skipping parser.java update on each build
> -------------------------------------------------------------------------
>
>                 Key: CALCITE-2558
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2558
>             Project: Calcite
>          Issue Type: Sub-task
>    Affects Versions: 1.17.0
>            Reporter: Vladimir Sitnikov
>            Assignee: Vladimir Sitnikov
>            Priority: Major
>
> {code:xml}
> <groupId>org.apache.drill.tools</groupId>
> <artifactId>drill-fmpp-maven-plugin</artifactId>{code}
> has builtin verification if the generated files differ from the results of 
> previous generation.
>  It saves compile times, and it creates no risks.
> It enables to improve pom.xml as well (we can remove {{generate-parser}} 
> build profiles)
> Benchmark: {{mvn test-compile -Dcheckstyle.skip=true}}
> {noformat}
>                                     BEFORE 1  BEFORE 2  AFTER 1  AFTER 2
> Calcite 1.18.0-SNAPSHOT ...........    1.099     1.059    1.084    1.041
> Calcite Linq4j ....................    0.793     0.765    0.700    0.747
> Calcite Core ......................   21.059    18.090    9.924    1.883
> Calcite Babel .....................    1.881     1.681    0.835    0.709
> Calcite Cassandra .................    1.054     0.856    0.780    0.725
> Calcite Druid .....................    0.640     0.651    0.610    0.649
> Calcite Elasticsearch .............    0.863     0.834    0.794    0.803
> Calcite Examples ..................    0.013     0.014    0.013    0.013
> Calcite Example CSV ...............    0.598     0.581    0.590    0.584
> Calcite Example Function ..........    0.575     0.599    0.583    0.589
> Calcite File ......................    0.864     0.853    1.001    1.787
> Calcite Geode .....................    0.698     0.699    0.682    0.693
> Calcite MongoDB ...................    0.581     0.679    0.601    0.627
> Calcite Pig .......................    0.902     0.843    0.819    0.771
> Calcite Piglet ....................    0.784     0.745    0.818    0.577
> Calcite Plus ......................    0.632     0.631    0.631    0.607
> Calcite Server ....................    1.816     1.507    0.657    0.736
> Calcite Spark .....................    1.262     0.808    0.840    0.780
> Calcite Splunk ....................    0.660     0.584    0.593    0.616
> Calcite Ubenchmark 1.18.0-SNAPSHOT     1.630     1.120    1.649    1.139
> ------------------------------------------------------------------------
>                                       38.712    33.908   24.532   
> 16.373{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to