On Dec 5, 2012, at 01:09 , "Gerriet M. Denkmann" <gerr...@mdenkmann.de> wrote:

> When I press a button "Start" this gets done:
> 
>       self.start = [ NSDate date ];
>       for( NSUInteger i = 0; i < self.nbrWork; i++ )
>       {
>               GmdOperationBasis *m2 = [ [ GmdOperationBasis alloc ]  init ];
>               [ self.operationQueue  addOperation: m2 ];
>       };

So operations are being created and queued while some already running, if I 
understand correctly. That means your two possible sources of overhead (setup 
and concurrency) might well be interacting badly with each other.

> No idea. But NSProcessInfo reports: processorCount = 8. 
> 
> About this Mac says: MacBook Pro; Retina, Mid 2012; Processor  2.3 GHz Intel 
> Core i7; Memory  8 GB 1600 MHz DDR3.

That means you have 4 cores. In that case, it doesn't seem surprising that the 
performance increase would be less dramatic after 3-4 threads, since your 
operations are intensely compute-bound.

> This I cannot do. 
> When I use NSOperationQueueDefaultMaxConcurrentOperationCount (i.e. letting 
> NSOperationQueue decide what is appropriate) then my app will block (see 
> thread: Operations Beachball).

Yeah, it's a difficult problem.




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to