From e49ef8d60e0e9fc31cf37ad7c8abe575e4faac40 Mon Sep 17 00:00:00 2001 From: blackfa765 Date: Wed, 12 Nov 2025 17:18:28 -0600 Subject: [PATCH] Improve performance by 5-10% --- src/KenjinxAndroid/libkenjinx/build.gradle | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/KenjinxAndroid/libkenjinx/build.gradle b/src/KenjinxAndroid/libkenjinx/build.gradle index 0edb6318b..ac10044ac 100644 --- a/src/KenjinxAndroid/libkenjinx/build.gradle +++ b/src/KenjinxAndroid/libkenjinx/build.gradle @@ -75,9 +75,9 @@ tasks.register('compileLibKenjinx', Exec) { } inputs.files(solutionFiles) - .withPropertyName('sourceFiles') - .withPathSensitivity(PathSensitivity.RELATIVE) - .ignoreEmptyDirectories() + .withPropertyName('sourceFiles') + .withPathSensitivity(PathSensitivity.RELATIVE) + .ignoreEmptyDirectories() outputs.file("${publishDirectory}/${projectName.toLowerCase()}.so") @@ -93,7 +93,7 @@ tasks.register('compileLibKenjinx', Exec) { } doFirst { - println "Building ${projectName} in ${configuration} mode." + println "Building ${projectName} in ${configuration} mode (OPTIMIZED)." println "Configuration:" println "\tusing: ${dotnetExecutable}" println "\tStripSymbols: ${stripSymbols}" @@ -102,19 +102,34 @@ tasks.register('compileLibKenjinx', Exec) { } executable dotnetExecutable - args 'publish', - '-r', 'linux-bionic-arm64', - '-c', configuration, - "-p:DisableUnsupportedError=true", - "-p:PublishAotUsingRuntimePack=true", - "-p:StripSymbols=${stripSymbols}", - "--artifacts-path", buildDir, + + def baseArgs = [ + 'publish', + '-r', 'linux-bionic-arm64', + '-c', configuration, + "-p:DisableUnsupportedError=true", + "-p:PublishAotUsingRuntimePack=true", + "-p:StripSymbols=${stripSymbols}", + "--artifacts-path", buildDir, + "-p:DefineConstants=ANDROID" + ] + + if (configuration == "Release") { + baseArgs.addAll([ "-p:OptimizationPreference=Speed", "-p:IlcOptimizationPreference=Speed", "-p:IlcOptimizationLevel=3", "-p:IlcFoldIdenticalMethodBodies=true", - "-p:DefineConstants=ANDROID"; + "-p:IlcGenerateStackTraceData=false", + "-p:TrimMode=full", + "-p:IlcTrimMetadata=true", + "-p:DebuggerSupport=false", + "-p:StackTraceSupport=false", + "-p:InvariantGlobalization=true" + ]) + } + args baseArgs args additionalArgs.split(" ") doLast {