Re: undomanger performance
Re: undomanger performance
- Subject: Re: undomanger performance
- From: Jean-Daniel Dupas <email@hidden>
- Date: Sat, 30 Apr 2016 21:49:37 +0200
Just my 2 cents.
Maybe registering the changes is not executed immediately but deferred until the end of the current event loop cycle, so the undo manager can group them into a single operation.
In such case, it would mean that what you think is the undo registration is just a call to schedule the real operation and is relatively fast, but the real works take much more time and is deferred until the end of the current event handling.
> Le 30 avr. 2016 à 21:39, Georg Seifert <email@hidden> a écrit :
>
> Hi
>
> My app deals with an object tree that can have millions of leaves. It is possible to run an operation on all of them. Each will register its own change with the undo manager. The hole operation might tale a few second (the last line in the trace below). But after my operation is finished, there is another operation triggered by the system that takes much longer than the original task and it blocks the UI. It is directly linked to the undo registration, if I disable it, this does not happen.
>
> Running Time Self (ms) Symbol Name
> 26258.0ms 81.3% 0,0 _dispatch_mgr_thread 0x4ef18d
> 26258.0ms 81.3% 0,0 _dispatch_mgr_thread
> 26258.0ms 81.3% 0,0 _dispatch_mgr_invoke
> 26250.0ms 81.2% 0,0 _dispatch_mgr_queue_drain
> 26248.0ms 81.2% 48,0 _dispatch_queue_drain
> 26168.0ms 81.0% 1,0 _dispatch_client_callout
> 26141.0ms 80.9% 97,0 _dispatch_source_set_timer3
> 25561.0ms 79.1% 25561,0 _dispatch_timers_update
> 481.0ms 1.4% 8,0 _dispatch_resume_slow
> 2.0ms 0.0% 2,0 _dispatch_queue_wakeup
> 8.0ms 0.0% 0,0 free
> 6.0ms 0.0% 6,0 dispatch_release
> 6.0ms 0.0% 6,0 _os_object_release
> 4.0ms 0.0% 4,0 dispatch_resume
> 1.0ms 0.0% 1,0 nano_free_definite_size
> 1.0ms 0.0% 0,0 <Unknown Address>
> 12.0ms 0.0% 12,0 OSAtomicEnqueue
> 9.0ms 0.0% 4,0 gcd_queue_item_complete_hook
> 6.0ms 0.0% 1,0 _dispatch_continuation_free_to_cache_limit
> 3.0ms 0.0% 2,0 _dispatch_introspection_queue_item_dequeue_hook
> 1.0ms 0.0% 1,0 DYLD-STUB$$free
> 1.0ms 0.0% 0,0 <Unknown Address>
> 2.0ms 0.0% 2,0 _dispatch_introspection_callout_return
> 7.0ms 0.0% 6,0 _dispatch_cache_cleanup
> 1.0ms 0.0% 0,0 _dispatch_timers_run
> 4162.0ms 12.8% 0,0 Main Thread 0x4ef176
>
> Does anyone has an idea what’s going on?
>
> Thanks
> Georg Seifert
> Xcode 7.2 on MacOS 10.10.5, 27" Retina-iMac.
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden