공부/Computers

Xcode Instruments tutorials

언제나19 2011. 10. 13. 16:43

WWDC 2011 Session Videos - HD                   
Session 310 - What's New In Instruments    47:38    11. 6. 16.    Apple Developer    Developer on iTunes   
Session 312 - iOS Performance and Power Optimization with Instruments    55:37    11. 6. 16.    Apple Developer    Developer on iTunes   


Session 310 - What's New In Instruments    47:38    11. 6. 16.    Apple Developer    Developer on iTunes   
부터.

deferred mode 는 지금 즉시 말고 나중에 적용되게 하는 건가보다.
thread tenure 중 tenure는 재임기간

copy on write page fault, zero fill page fault 등 multi processor에서 thread 간 자원 공유하는 개념에 대해서도 설명해준다.
이런 설명이 필요할만큼 어려운 내용.

29' 부터는 system trace demo 에서 정말 속도 향상시키는 예를 보여주면 좋으련만, 그 정도 demo는 없다.

38' 부터가 내가 보고 싶어했던 automatic reference counting 얘기
기대하고, 이것만을 기다렸는데, cycle 검사를 통해 leak 찾는 얘기밖에 안해준다.

Session 312 - iOS Performance and Power Optimization with Instruments    55:37    11. 6. 16.    Apple Developer    Developer on iTunes   
Session 318 - iOS Performance in Depth    58:37    11. 6. 16.    Apple Developer    Developer on iTunes   
Session 322 - Objective-C Advancements in Depth    58:31    11. 6. 16.    Apple Developer    Developer on iTunes   
가 관련 프로그램이네. 이런 것들까지 봐야겠네.

그 중 Session 312 - iOS Performance and Power Optimization with Instruments    55:37    11. 6. 16.    Apple Developer    Developer on iTunes   
는 앞부분 볼 때, arc에 대해 내용이 없는 것 같아서,
Session 322 - Objective-C Advancements in Depth    58:31    11. 6. 16.    Apple Developer    Developer on iTunes   
부터 본다.
08' 부터 advanced arc
cocoa convention을 지켜야 한다.
- copyxxx() ~> hump (혹) 없이
+ newXxx()
아니면 NS_RETURNS_NOT_RETAINED 같은 걸 붙이던지

__strong 은 retain 하고, __weak 은 retain 안 한다.
헉, __weak 은 ios5, macosx 10.7 에서밖에 안되네.
NSWindow, NSViewController 등을 weak reference 하면, 확 죽을 수도 있다니,, 호환성이 뭐 이래..

unsafe_unretained 는 assign하고 같은 거.

block에서 self에 cycle 안생기게 weak, strong 섞어서 self->member 쓰는 건 괜히 복잡하면서도 필수겠다.

non-arc에서 default는 __unsafe_unretained

실제 release되는 시점을 알려면 30'쯤 가르쳐주는 arc internals 부분을 잘 알아야겠는데,
아직 정확히 모르겠다.
objc_retain, objc_release, objc_autorelease
objc_loadWeak, objc_storeWeak
objc_autoreleasePoolPush/Pop


36' Death of an Object

CF object를 쓸 때는 __bridged 를 쓰라는데, 이게 어떻게 돌아가는 건가.. 하응.
또는 CFBridgingRetain, CFBridgingRelease 로 묶으래.


iPhone Development Foundation Videos                   
Session 916 - Getting Started with Instruments    53:23    08. 6. 13.    Apple Developer    Developer on iTunes   

timeline에서 option + drag하면, 선택한 부분에 대한 통계만 filtering해서 보여준다.

ObjectAlloc, Leaks 사용법도 중간에 가르쳐주긴 한다.
autorelease stack을 하나 더 두어서 alloc spike를 줄이는 것을 demo.

자세히화살표를 클릭하면 자세한 내용을 보여주고, extended details 에서 call tree도 볼 수 있다.
previous run 하고 비교하는 기능도 있네.

NSString leaks 고치는 것도 demo해준다.
release를 안한 경우에 대해서 autorelease 로 고친다.
흠.. 근데, 동영상에서는 고치는 것을 실패했다. ^_^;;

-

iPhone Development Foundation Videos                   
Session 901 - Introduction to the iPhone Development Tools    1:04:41    08. 6. 13.    Apple Developer    Developer on iTunes   
iPhone Development Essential Videos                   
iPhone Development Tools Overview    1:13:14    09. 3. 18.    Apple Developer    Developer on iTunes   

는 안봐야지. 진작에 익숙하지 않을 때 볼 껄 그랬다.

그보다는 2010년 것에 관련 내용이 많네.
그 중 memory analysis 가르쳐주는 걸 봐야겠다.

WWDC 2010 Session Videos - HD                   
Session 304 - What's New in Instruments    45:01    10. 6. 16.    Apple Developer    Developer on iTunes   
Session 306 - Automating User Interface Testing with Instruments    40:15    10. 6. 16.    Apple Developer    Developer on iTunes   
Session 309 - Advanced Performance Analysis with Instruments    58:08    10. 6. 16.    Apple Developer    Developer on iTunes   
Session 311 - Advanced Memory Analysis with Instruments    52:02    10. 6. 16.    Apple Developer    Developer on iTunes   

Session 311 - Advanced Memory Analysis with Instruments    52:02    10. 6. 16.    Apple Developer    Developer on iTunes   
에서 정말 자세하게 잘 가르쳐준다. 이 시기가 막 가르쳐주던 시기였나보다.
앞부분만 보고, 뒤는 잘 안봤다. 중간쯤부터 다시 봐야겠다.