Skip to content

Instantly share code, notes, and snippets.

@jamie
Created December 23, 2009 19:29
Show Gist options
  • Save jamie/262736 to your computer and use it in GitHub Desktop.
Save jamie/262736 to your computer and use it in GitHub Desktop.
Analysis of sampling TextMate (pid 36589) every 1 millisecond
Call graph:
7843 Thread_280040 DispatchQueue_1: com.apple.main-thread (serial)
7843 start
7843 _start
7843 NSApplicationMain
7843 -[NSApplication run]
7843 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
7843 _DPSNextEvent
7843 BlockUntilNextEventMatchingListInMode
7843 ReceiveNextEventCommon
7843 RunCurrentEventLoopInMode
7843 CFRunLoopRunInMode
7843 CFRunLoopRunSpecific
7843 __CFRunLoopRun
7843 __NSFireDelayedPerform
7843 -[NSNavSidebarController _stopObservingChildren]
7843 -[NSNavFBENode removeObserver:forKeyPath:]
7843 -[NSNavFBENode _unregisterForChildChangeNotifications]
7843 -[NSNavFBENode _unregisterForNotificationOptions:forNodeRef:]
7843 NodeUnregisterChangeNotification
7843 TNode::UnregisterChangeNotification(TCountedPtr<TClientChangeNotifier> const&, unsigned long, bool)
7843 __spin_lock
7843 Thread_280048 DispatchQueue_2: com.apple.libdispatch-manager (serial)
7843 start_wqthread
7843 _pthread_wqthread
7843 _dispatch_worker_thread2
7843 _dispatch_queue_invoke
7843 _dispatch_mgr_invoke
7843 kevent
7843 Thread_280050: JavaScriptCore: FastMalloc scavenger
7843 thread_start
7843 WTF::TCMalloc_PageHeap::scavengerThread()
7843 pthread_cond_wait$UNIX2003
7843 _pthread_cond_wait
7843 __semwait_signal
7843 Thread_280087
7843 thread_start
7843 _pthread_start
7843 text::view::tokenize_filter::worker(void*)
7843 text::view::tokenize_filter::actual_worker()
7843 pthread_cond_wait
7843 _pthread_cond_wait
7843 semaphore_wait_signal_trap
7843 Thread_280088
7843 thread_start
7843 _pthread_start
7843 PrivateMPEntryPoint
7843 TSystemNotificationTask::SystemNotificationTaskProc(void*)
7843 CFRunLoopRun
7843 CFRunLoopRunSpecific
7843 __CFRunLoopRun
7843 mach_msg
7843 mach_msg_trap
7843 Thread_280091 DispatchQueue_52: TFSVolumeInfo::GetSyncGCDQueue (serial)
7843 start_wqthread
7843 _pthread_wqthread
7843 _dispatch_worker_thread2
7843 _dispatch_queue_invoke
7843 _dispatch_queue_drain
7843 _dispatch_queue_invoke
7843 _dispatch_source_invoke
7843 _dispatch_source_latch_and_call
7843 NodeBrowser::takeAction()
7843 _NetworkCallBack(NetworkBrowser*, __NWNode*, __CFString const*, NWBrowserError, void*)
7843 NetworkRefreshCallback(__NWBrowser*, __NWNode*, __CFString const*, unsigned long, NWBrowserError, void*)
7843 TNode::HandleSync(unsigned long)
7843 TNode::SynchronizeChildren(unsigned long, TNodeEventPtrSet&)
7843 TFSInfoSynchronizer::FetchChildren()
7843 NWBrowserCopyChildren
7843 NodeBrowser::copyNodes()
7843 NodeBrowser::copyServerNodes(long, unsigned char*)
7843 NodeBrowser::addBonjourChildrenFromCache(__CFDictionary*, __CFDictionary*, unsigned char)
7843 _CSCopyCommentForServerName
7843 createMassagedString
7843 __CFStringEncodeByteStream
7843 CFStringEncodingIsValidEncoding
7843 CFStringEncodingGetConverter
7843 __CFGetConverter
7843 __CFStringEncodingGetExternalConverter
7843 dlopen
7843 dlopen
7843 dyld::link(ImageLoader*, bool, ImageLoader::RPathChain const&)
7843 ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, ImageLoader::RPathChain const&)
7843 dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*))
7843 map_images
7843 pthread_mutex_lock
7843 semaphore_wait_signal_trap
7843 Thread_280092 DispatchQueue_41: TFSVolumeInfo::GetSizingGCDQueue (serial)
7843 start_wqthread
7843 _pthread_wqthread
7843 _dispatch_worker_thread2
7843 _dispatch_queue_invoke
7843 _dispatch_queue_drain
7843 _dispatch_queue_invoke
7843 _dispatch_source_invoke
7843 _dispatch_source_latch_and_call
7843 __dispatch_source_mig_create_block_invoke_1
7843 dispatch_mig_server
7843 dispatch_rcv_msg
7843 FSEventsD2F_server
7843 _Xcallback_rpc
7843 implementation_callback_rpc
7843 TSystemNotificationTask::HandleFileChanged(__FSEventStream const*, void*, unsigned long, void*, unsigned long const*, unsigned long long const*)
7843 TDSMutex::Acquire()
7843 pthread_mutex_lock
7843 semaphore_wait_signal_trap
7843 Thread_280095
7843 thread_start
7843 _pthread_start
7843 __CFSocketManager
7843 select$DARWIN_EXTSN
6988 Thread_280094 DispatchQueue_48: TFSVolumeInfo::GetSizingGCDQueue (serial)
6988 start_wqthread
6988 _pthread_wqthread
6988 _dispatch_worker_thread2
6988 _dispatch_queue_invoke
6988 _dispatch_queue_drain
6988 _dispatch_queue_invoke
6988 _dispatch_source_invoke
6988 _dispatch_source_latch_and_call
6988 __SetTimerToDispatchResizeRequest_block_invoke_1
6988 TNode::DispatchResizeRequestNow(TNodeTask*)
6988 TDSMutex::Acquire()
6988 pthread_mutex_lock
6988 semaphore_wait_signal_trap
1467 Thread_280047
1467 start_wqthread
1466 _pthread_wqthread
1466 __workq_kernreturn
1 _pthread_exit
1 _pthread_tsd_cleanup
1 _LI_data_free
1 free
1 szone_free_definite_size
1 tiny_free_list_add_ptr
855 Thread_280094
855 start_wqthread
855 _pthread_wqthread
855 __workq_kernreturn
852 Thread_280090
852 start_wqthread
851 _pthread_wqthread
851 __workq_kernreturn
1 _pthread_exit
1 _pthread_tsd_cleanup
1 _LI_data_free
1 free
1 szone_free_definite_size
1 tiny_free_list_add_ptr
812 Thread_280093
812 start_wqthread
812 _pthread_wqthread
812 __workq_kernreturn
Total number in stack (recursive counted multiple, when >=5):
8 _pthread_wqthread
8 start_wqthread
7 _dispatch_queue_invoke
Sort by top of stack, same collapsed (when >= 5):
semaphore_wait_signal_trap 30517
__semwait_signal 7843
__spin_lock 7843
kevent 7843
mach_msg_trap 7843
select$DARWIN_EXTSN 7843
__workq_kernreturn 3984
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment