• 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: ObjC in time-critical parts of the code
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ObjC in time-critical parts of the code


  • Subject: Re: ObjC in time-critical parts of the code
  • From: Jean-Daniel Dupas <email@hidden>
  • Date: Fri, 16 Jan 2009 09:32:31 +0100


Le 16 janv. 09 à 09:03, Jens Bauer a écrit :

Hi Jeremy,

On Jan 16, 2009, at 04:52, Jeremy Pereira wrote:

On 15 Jan 2009, at 22:16, Jens Bauer wrote:

..often used around 3ms for the empty method "-renderObject".
It gave me the terrible result of up to 21ms spent in the empty method!


-So I'd like to let you know that it's sometimes good to think "do I really need this method?"
I will be rewriting around 8 of my large files for doing some rendering, so they will be using C-routines instead of ObjC methods, since I'm using them in a real-time environment.


My guess is that the message dispatcher probably needs to do something else than servicing *my* application, so I believe it's the nature of the environment, not a bug

I compiled your program into an Xcode project. I got an answer of 0.021ms.


I modified the project to call renderObject 1,000 times and I got the answer 0.028ms.

The only thing I can think of is that you have confused milliseconds and microseconds.

I believe that it depends on if the application is doing something else, rather than just an empty loop.
In my case, I have at least one extra thread running, sometimes more threads.
The project is running on a G5 DP/2.0GHz, and will not be used on intel machines, so many of you might get faster execution times than me.
-But the 'warning' isn't about the average value, it's about the peak value, which sometimes takes ages, and when doing a real-time app, it might be important to avoid such peak values.


You don't want to understand.
You CANNOT mesure elapsed time for ONE call. You have to bench thousand of call in one loop and take an average time.
You first conclusion IS WRONG and it does not depend if you have 20 threads or only one. Your PEAK VALUE is WRONG too. It's not possible to mesure a peak value, especially in a preemptive environment.





_______________________________________________

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: ObjC in time-critical parts of the code
      • From: Jens Bauer <email@hidden>
References: 
 >Re: Filtering NSPopUpButtonCell when clicking on it (From: Keary Suska <email@hidden>)
 >Fwd: Filtering NSPopUpButtonCell when clicking on it (From: Kubernan <email@hidden>)
 >ObjC in time-critical parts of the code (From: Jens Bauer <email@hidden>)
 >Re: ObjC in time-critical parts of the code (From: Jeremy Pereira <email@hidden>)
 >Re: ObjC in time-critical parts of the code (From: Jens Bauer <email@hidden>)

  • Prev by Date: Re: ObjC in time-critical parts of the code
  • Next by Date: Re: ObjC in time-critical parts of the code
  • Previous by thread: Re: ObjC in time-critical parts of the code
  • Next by thread: Re: ObjC in time-critical parts of the code
  • Index(es):
    • Date
    • Thread