Instruments-perusteet: Time Profiler
Suorittimen käytön tallentaminen, kutsupuiden lukeminen ja koodin pullonkaulojen löytäminen.
Instruments-perusteet: Time Profiler on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Miksi Instrumentsia käytetään?
Xcode Instruments on suorituskyvyn analysointityökalujen kokonaisuus. Time Profiler näyttää, mihin suoritinaikaa kuluu, jotta voitte löytää suorituskyvyn pullonkaulat.
// Launch: Xcode → Product → Profile (Cmd+I)
// Choose "Time Profiler" template
// Run your app and exercise the slow pathJäljityksen tallentaminen
Napsauttakaa Instrumentsin tallennuspainiketta, käyttäkää profiloitavaa ominaisuutta ja lopettakaa tallennus sen jälkeen.
// 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 analyzeCall Tree -näkymä
Call Tree näyttää funktiot niiden kuluttaman suoritinajan perusteella. Raskaimmat kutsupolut näkyvät hierarkian yläosassa.
// Call Tree columns:
// Self %: time spent in this function exclusively
// Symbol Name: function or method name
// Expand to see callers/calleesRaskain pinojälki
Heaviest Stack Trace -paneeli näyttää eniten näytteistetyn yksittäisen kutsupolun – se on usein paras paikka optimoinnin aloittamiseen.
// In Time Profiler:
// View → Heaviest Stack Trace
// Pinpoints the exact line consuming the most CPUNäytteiden suodattaminen
Ottakaa käyttöön "Hide System Libraries" ja "Invert Call Tree", jotta voitte keskittyä omaan koodiinne Applen kehysten sijaan.
// Call Tree options (bottom of Instruments):
// ☑ Invert Call Tree – shows leaf functions first
// ☑ Hide System Libraries – filters out OS internalsSiirtyminen lähdekoodiin
Siirtykää suoraan ongelman aiheuttavalle riville Xcodessa kaksoisnapsauttamalla symbolia kutsupuussa.
// Double-click → opens file in Xcode at the hot line
// Red/orange annotation shows time spent per lineTime Profiler ja SwiftUI
SwiftUI-sovelluksissa etsikää odottamattomia body-kutsuja – liian tiheät uudelleenpiirrot näkyvät kutsupuussa toistuvina View.body-merkintöinä.
// Common SwiftUI hot spots:
// - body called 100+ times per second
// - Equatable not implemented, causing unnecessary diffs
// - Heavy computation in body instead of a modelPääsäikeen ja taustasäikeiden tarkasteleminen
Yläreunan säiekaista näyttää kunkin säikeen toiminnan. Taustasäikeiden suoritinpiikit voivat viitata siihen, että pääsäikeen ulkopuolella tehdään liikaa työtä.
// Thread lanes: Main Thread, Thread 2, Thread 3...
// Select a thread to see its call tree in isolationTime Profiler käynnistymisen analysointiin
Mitatkaa sovelluksen käynnistysaikaa profiloimalla sovelluksen käynnistyksestä alkaen ja tarkastelemalla jäljityksen ensimmäisiä sekunteja.
// Instruments → File → Launch Profile
// Measures time from process start to first frame renderVertailutason määrittäminen
Tallentakaa vertailutason jäljitys ennen optimointia. Tehkää muutosten jälkeen uusi profilointi ja verratkaa tuloksia parannuksen varmistamiseksi.
// Baseline: 45ms for imageLoad()
// After optimization: 8ms for imageLoad()
// Confirm: 5.6x speedup verified in InstrumentsVinkkejä tarkkaan profilointiin
Profiloikaa fyysisellä laitteella Release-koontiversiossa. Simulaattorit ja Debug-koontiversiot vääristävät suorituskykymittauksia.
// Always:
// 1. Use physical device
// 2. Build with Release configuration (Product → Scheme → Edit → Build → Release)
// 3. Repeat measurement 3+ times for consistencyPikatarkistus
Mikä Instrumentsin kutsupuun asetus näyttää lehtifunktiot eli eniten aikaa kuluttavat funktiot luettelon yläosassa?
Oppitunnin yhteenveto
Profiloikaa komennolla Cmd+I → Time Profiler. Näyttäkää oma koodinne ensin käyttämällä asetuksia Invert Call Tree ja Hide System Libraries. Siirtykää lähdekoodiin kaksoisnapsauttamalla symboleja. Profiloikaa laitteella Release-tilassa. Määrittäkää vertailutasot ennen optimointia ja sen jälkeen parannusten varmistamiseksi.
Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Instruments-perusteet: Time Profiler” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Instruments-perusteet: Time Profiler”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Instruments-perusteet: Time Profiler”?
Suorittimen käytön tallentaminen, kutsupuiden lukeminen ja koodin pullonkaulojen löytäminen. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Instruments-perusteet: Time Profiler”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Instruments-perusteet: Time Profiler
- Allocations- ja Leaks-instrumentit
- Main Thread Checker ja jumiutumiset
- Kuumien suorituspolkujen optimointi: COW, inline ja erikoistaminen