Özet - Performans
- Kotlin kursu
- Uzman
- Ders 42/47
- 5 dk
profiling, inline ve Sequence'i birleştirerek optimize edilmiş bir kopyalama fonksiyonu yazarsın.
Özet - Performans
Bu grupta profiling, allocation, inline, Sequence ve coroutine overhead kavramlarını öğrendin. Şimdi bunları birleştiren bir model yazacaksın: optimize edilmiş bir özet fonksiyonu.
Yazacağın perfSummary fonksiyonu üç temel aracı birleştirir: inline ile çağrı optimizasyonu, Sequence ile tembel hesap ve profiling ile ölçüm. main'de bu fonksiyonu çağırıp sonucu yazdıracaksın. Bu, performans optimizasyonunun tipik birleşimidir.
Birleştirme: inline + Sequence + profiling
Şimdi tüm parçaları birleştireceğiz. inline çağrı maliyetini düşürür; Sequence ara koleksiyonu kaldırır; profiling sonucu ölçer.
Örnek model: fun perfSummary(): String = "perf: inline + Sequence". Bu fonksiyon birleşimi özetler; main'de println(perfSummary()) yazarsın. Gerçek bir optimizasyonda bu üçü birlikte kullanılır: sıcak yol inline edilir, veri Sequence ile akar, değişim JMH ile ölçülür.
Uygulama perfSummary yaz
fun perfSummary(): String tanımla. "perf: inline + Sequence" döndürsün. main içinde println(perfSummary()) yaz.
Başlangıç kodu
// perfSummary fonksiyonunu ekle
fun main() {
// performans özetini yazdır
}Örnek çözüm
fun perfSummary(): String = "perf: inline + Sequence"
fun main() {
println(perfSummary())
}Beklenen çıktı
perf: inline + Sequence
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Performans için hangi üçlü birleştirilir?
Performance rests on three core tools.- val, var, const
- class, object, kalıtım
- KMP, Compose, KSP
- inline + Sequence + profiling Doğru cevap
Açıklama: inline, Sequence ve profiling performansın çekirdeğidir.
2 perfSummary dizesini tamamla
fun perfSummary(): String = "____"
fun perfSummary(): String = "perf: inline + Sequence"
Açıklama: Bu dize performans birleşimini özetler.
3 Performans kavramlarını eşle
| Kavram | Anlamı |
|---|---|
profiling |
Ölçüm |
allocation |
Heap ayırma |
inline |
Çağrı gömme |
Sequence |
Tembel akış |