KOTLIN · 성능
컴파일 최적화 (Kotlin Compiler)
Kotlin 컴파일러 옵션으로 빌드 속도와 런타임 성능을 최적화합니다.
성능고급compileroptimizationgradlebuild-speed
핵심 설명
Kotlin 컴파일러 옵션으로 빌드 속도와 런타임 성능을 최적화합니다.
Kotlin code
// build.gradle.kts 컴파일러 옵션
// kotlin {
// compilerOptions {
// jvmTarget.set(JvmTarget.JVM_17)
// freeCompilerArgs.addAll(
// "-Xjsr305=strict", // null 안전성 강화
// "-opt-in=kotlin.RequiresOptIn",
// "-Xjvm-default=all", // 인터페이스 기본 메서드
// )
// }
// }
// 컴파일 최적화 확인 코드
fun main() {
// 1. const val → 컴파일 타임 상수 (인라인)
val config = "API_URL: 상수 인라인됨"
// 2. when → tableswitch/lookupswitch
fun optimize(code: Int) = when (code) {
200 -> "OK"
404 -> "Not Found"
500 -> "Server Error"
else -> "Unknown"
}
// 3. 원시 타입 유지
val nums = intArrayOf(1, 2, 3) // int[] (박싱 없음)
val sum = nums.sum()
// 4. 인라인 클래스 → 래퍼 제거
@JvmInline
value class Meter(val value: Double)
val distance = Meter(100.0) // 런타임에 Double
// 5. 빌드 속도 최적화
// gradle.properties:
// kotlin.incremental=true
// kotlin.daemon.jvmargs=-Xmx2g
// org.gradle.parallel=true
// org.gradle.caching=true
println("JVM: ${System.getProperty("java.version")}")
println("Kotlin: ${KotlinVersion.CURRENT}")
println("최적화 결과: $sum, ${optimize(200)}")
println("인라인 클래스: ${distance.value}m")
}학습 팁
kotlin.incremental=true와 org.gradle.caching=true를 활성화하면 빌드 시간이 크게 단축됩니다.
주의할 점
-Xjvm-default=all을 기존 라이브러리에 적용하면 바이너리 호환성이 깨질 수 있습니다. 새 프로젝트에서만 설정하세요.
자주 묻는 질문
컴파일 최적화 (Kotlin Compiler)란 무엇인가요?
Kotlin 컴파일러 옵션으로 빌드 속도와 런타임 성능을 최적화합니다.
컴파일 최적화 (Kotlin Compiler) 학습 시 주의할 점은 무엇인가요?
-Xjvm-default=all 을 기존 라이브러리에 적용하면 바이너리 호환성이 깨질 수 있습니다. 새 프로젝트에서만 설정하세요.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.