IssueRaiser

The Kotlin and Groovy DSLs should have similar performance characteristics

### Expected Behavior The Kotlin and Groovy DSLs have as much as possible similar performance characteristics. IOW there's no outlier use case for which the performance characteristics make using one or the other DSL a penalty. ### Current Behavior What follows is the current state of affairs as **Gradle 6.8** for four use cases: - first use (e.g. ephemeral CI agent or clean workstation without build cache) - buildSrc abi change - buildSrc non-abi change - nothing changes ## Data for Gradle 6.8 > **24 Jan 2025 Update (@oleg-nenashev ):** As the Gradle's TeamCity instance is no longer public, the performance reports are no longer accessible. The structure has also changed since 6.8. See https://github.com/gradle/gradle/issues/32164 The data below comes from performance tests run on the Gradle CI. Those tests use a build with a large number of projects and build scripts, the build scripts being rather simple, and they run on both the Groovy and Kotlin DSL for comparison. <details> <summary>Old Links</summary> | Use case | Groovy | Kotlin | Differences | | --- | --- | --- | --- | | **First use** | :green_circle: 33.5s | :red_circle: 76.2s | Groovy DSL is 2.2x faster | | **`buildSrc` abi change** | :green_circle: 13.2s | :red_circle: 42.3s | Groovy DSL is 3.2x faster | | **`buildSrc` non-abi change** | :red_circle: 13s | :green_circle: 5.2s | Kotlin DSL is 2.5x faster | | **Nothing changes** | :large_blue_circle: 1.7s | :large_blue_circle: 1.8s | Similar performanc

Posted by eskatos on Jan 20, 2021, 2:33 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.3,000 issues0 comments

github (Software)

The Kotlin and Groovy DSLs should have similar performance characteristics

eskatosJan 20, 2021, 2:33 PM

### Expected Behavior The Kotlin and Groovy DSLs have as much as possible similar performance characteristics. IOW there's no outlier use case for which the performance characteristics make using one or the other DSL a penalty. ### Current Behavior What follows is the current state of affairs as **Gradle 6.8** for four use cases: - first use (e.g. ephemeral CI agent or clean workstation without build cache) - buildSrc abi change - buildSrc non-abi change - nothing changes ## Data for Gradle 6.8 > **24 Jan 2025 Update (@oleg-nenashev ):** As the Gradle's TeamCity instance is no longer public, the performance reports are no longer accessible. The structure has also changed since 6.8. See https://github.com/gradle/gradle/issues/32164 The data below comes from performance tests run on the Gradle CI. Those tests use a build with a large number of projects and build scripts, the build scripts being rather simple, and they run on both the Groovy and Kotlin DSL for comparison. <details> <summary>Old Links</summary> | Use case | Groovy | Kotlin | Differences | | --- | --- | --- | --- | | **First use** | :green_circle: 33.5s | :red_circle: 76.2s | Groovy DSL is 2.2x faster | | **`buildSrc` abi change** | :green_circle: 13.2s | :red_circle: 42.3s | Groovy DSL is 3.2x faster | | **`buildSrc` non-abi change** | :red_circle: 13s | :green_circle: 5.2s | Kotlin DSL is 2.5x faster | | **Nothing changes** | :large_blue_circle: 1.7s | :large_blue_circle: 1.8s | Similar performanc

Comments (0)

No comments yet. Start the discussion.

Comment on this issue