On 5 Dec 2012, at 11:41, Kyle Sluder <k...@ksluder.com> wrote:

>  
> On Dec 4, 2012, at 8:00 PM, Jens Alfke <j...@mooseyard.com> wrote:
>  
>>  
>> On Dec 4, 2012, at 7:33 PM, Kyle Sluder <k...@ksluder.com> wrote:
>>  
>>> Yeah, it sounds like you're saturating the thread pool due to
>>> non-CPU-bound operations. NSOpQ is going to spend its entire time
>>> spawning and switching to threads while you append more and more
>>> operations to the queue.

I made a test project with this Operation:

@implementation GmdOperationBasis
- (void)main
{
        if ( [ self isCancelled ] ) return;
        double sum = 8;
        for( NSUInteger i = 0; i < 13383333; i++ )      //      takes about 100 
msec.
        {
                if ( [ self isCancelled ] ) return;
                double j = (double)i;
                sum += sqrt(j);
        };      
}
@end    

And got almost the same overhead (tested three times with 99 operations);
        clock time per operation        expected time   overhead factor
//      8 ops   29.9, 30.1, 29.7                12.5                    2.4
//      7 ops   29.2, 30.0, 29.7                14.3                    2.1
//      6 ops   28.8, 28.5, 29.0                16.7                    1.7
//      5 ops   28.6, 28.4, 28.9                20                              
1.4
//      4 ops   29.4, 31.9, 30.8                25                              
1.2
//      3 ops   35.7, 35.4, 35.2                33                              
1.06
//      2 ops   51.7, 51.5, 51.2                50                              
1.03
//      1 ops   100

Looks like NSOperationQueue has some problems, or?

Kind regards,

Gerriet.

_______________________________________________

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