• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [NSPipe pipe] returning nil (running out of filehandles?)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [NSPipe pipe] returning nil (running out of filehandles?)


  • Subject: Re: [NSPipe pipe] returning nil (running out of filehandles?)
  • From: Martin Redington <email@hidden>
  • Date: Wed, 2 Apr 2008 00:53:01 +0100


On 2 Apr 2008, at 00:33, Jim Correia wrote:

On Apr 1, 2008, at 7:19 PM, Martin Redington wrote:

I'm running /sbin/md5 via an NSTask on a number of files (3,000 or so, with a new NSTask each time).

I know the "unix way" is to string together small purpose built tools via pipes.


But it strikes me that NSTask is the wrong hammer for this nail. Computing an md5 programatically yourself is probably the better solution, regardless of the leaky file descriptor problem you are having.

Well, I think I've solved the leak.

[md5Task waitUntilExit];

before

[md5Task release];

does the trick. No fd leaks, and it seems a lot faster generally. You'd kind of hope that NSTask would clean up in its dealloc method, but apparently not.

Jim - any particular reason why you'd not use NSTask?

I guess I'm paying the fork/exec overhead, and some interprocess piping and (a very small bit of) extra I/O for each NSTask. I will actually be caching a lot of the output, so I expect the numbers to be much smaller on subsequent scans, although even once off, 3,000 spawns does seem a bit gratuitous. Performance was much better than I expected though - about 12 minutes for the md5 phase.

I'm still in pre-optimisation mode right now, and I'll probably migrate to the openssl MD5 method in any case, but I'm interested to hear if there's any other reason apart from the above.












_______________________________________________

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


  • Follow-Ups:
    • Re: [NSPipe pipe] returning nil (running out of filehandles?)
      • From: Martin Redington <email@hidden>
    • Re: [NSPipe pipe] returning nil (running out of filehandles?)
      • From: Jens Alfke <email@hidden>
    • Re: [NSPipe pipe] returning nil (running out of filehandles?)
      • From: Jerry Krinock <email@hidden>
References: 
 >[NSPipe pipe] returning nil (running out of filehandles?) (From: Martin Redington <email@hidden>)
 >Re: [NSPipe pipe] returning nil (running out of filehandles?) (From: Jim Correia <email@hidden>)

  • Prev by Date: Re: Finding out about new windows.
  • Next by Date: Re: Cocoa Tutoring in SF Bay Area
  • Previous by thread: Re: [NSPipe pipe] returning nil (running out of filehandles?)
  • Next by thread: Re: [NSPipe pipe] returning nil (running out of filehandles?)
  • Index(es):
    • Date
    • Thread