Instruments Temelleri: Zaman Profilleyicisi
CPU kullanımını kaydedin, çağrı ağaçlarını okuyun ve kodunuzdaki yoğun noktaları bulun.
Instruments Temelleri: Zaman Profilleyicisi, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Instruments Neden Kullanılır?
Xcode Instruments, performans analizi araçlarından oluşan bir pakettir. Time Profiler, CPU zamanının nerede harcandığını göstererek yoğun noktaları bulmanızı sağlar.
// Launch: Xcode → Product → Profile (Cmd+I)
// Choose "Time Profiler" template
// Run your app and exercise the slow pathİz Kaydı Alma
Instruments'ta kayıt düğmesine tıklayın, profilini oluşturmak istediğiniz özelliği kullanın ve ardından kaydı durdurun.
// 1. Connect device or use simulator
// 2. Launch with Profile (Cmd+I)
// 3. Select Time Profiler
// 4. Record for 5-30 seconds
// 5. Stop and analyzeÇağrı Ağacı Görünümü
Çağrı Ağacı, işlevleri tükettikleri CPU zamanına göre gösterir. En yoğun çağrı yolları hiyerarşinin en üstünde görünür.
// Call Tree columns:
// Self %: time spent in this function exclusively
// Symbol Name: function or method name
// Expand to see callers/calleesEn Yoğun Yığın İzi
En Yoğun Yığın İzi paneli, örneklenen tek bir çağrı yolunu gösterir; genellikle iyileştirmeye başlamak için en iyi yerdir.
// In Time Profiler:
// View → Heaviest Stack Trace
// Pinpoints the exact line consuming the most CPUÖrnekleri Filtreleme
Apple çerçeveleri yerine kendi kodunuza odaklanmak için "Hide System Libraries" ve "Invert Call Tree" seçeneklerini etkinleştirin.
// Call Tree options (bottom of Instruments):
// ☑ Invert Call Tree – shows leaf functions first
// ☑ Hide System Libraries – filters out OS internalsKaynağa Gitme
Xcode'da sorunlu satıra doğrudan gitmek için çağrı ağacındaki bir sembole çift tıklayın.
// Double-click → opens file in Xcode at the hot line
// Red/orange annotation shows time spent per lineTime Profiler ve SwiftUI
SwiftUI uygulamalarında body için beklenmeyen çağrılar arayın; aşırı yeniden çizimler, çağrı ağacında yinelenen View.body girdileri olarak görünür.
// Common SwiftUI hot spots:
// - body called 100+ times per second
// - Equatable not implemented, causing unnecessary diffs
// - Heavy computation in body instead of a modelAna İş Parçacığını Arka Planla Karşılaştırma
Üstteki iş parçacığı şeridi, her iş parçacığındaki etkinliği gösterir. Arka plan iş parçacıklarındaki CPU artışları, ana iş parçacığı dışında gereğinden fazla iş yapıldığını gösterebilir.
// Thread lanes: Main Thread, Thread 2, Thread 3...
// Select a thread to see its call tree in isolationBaşlangıç İçin Time Profiler
Başlangıçtan itibaren profil oluşturarak ve izin ilk saniyelerine bakarak uygulamanın açılış süresini ölçün.
// Instruments → File → Launch Profile
// Measures time from process start to first frame renderTemel Ölçüm Belirleme
İyileştirmeden önce bir temel iz kaydedin. Değişikliklerden sonra yeniden profil oluşturun ve iyileşmeyi doğrulamak için karşılaştırın.
// Baseline: 45ms for imageLoad()
// After optimization: 8ms for imageLoad()
// Confirm: 5.6x speedup verified in InstrumentsDoğru Profil Oluşturma İpuçları
Profil oluşturmayı fiziksel bir aygıtta, Sürüm derlemesiyle gerçekleştirin. Simülatörler ve Hata Ayıklama derlemeleri performans ölçümlerini çarpıtır.
// Always:
// 1. Use physical device
// 2. Build with Release configuration (Product → Scheme → Edit → Build → Release)
// 3. Repeat measurement 3+ times for consistencyKısa Kontrol
Hangi Instruments çağrı ağacı seçeneği yaprak işlevleri (en fazla zaman tüketen işlevleri) listenin en üstünde gösterir?
Ders Özeti
Cmd+I → Time Profiler ile profil oluşturun. Kendi kodunuzu önce görmek için Invert Call Tree ve Hide System Libraries seçeneklerini kullanın. Kaynağa gitmek için sembollere çift tıklayın. Profil oluşturmayı aygıtta, Sürüm modunda gerçekleştirin. İyileştirmeyi doğrulamak için iyileştirmelerden önce ve sonra temel ölçümler belirleyin.
Sıkça Sorulan Sorular
“Instruments Temelleri: Zaman Profilleyicisi” dersi ücretsiz mi?
Evet — “Instruments Temelleri: Zaman Profilleyicisi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Instruments Temelleri: Zaman Profilleyicisi” dersinde ne öğreneceğim?
CPU kullanımını kaydedin, çağrı ağaçlarını okuyun ve kodunuzdaki yoğun noktaları bulun. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Instruments Temelleri: Zaman Profilleyicisi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Instruments Temelleri: Zaman Profilleyicisi
- Allocations ve Leaks Instruments
- Ana İş Parçacığı Denetleyicisi ve Donmalar
- Yoğun Yolları İyileştirme: COW, Satır İçi Kullanım ve Özelleştirme