comp.lang.ada
 help / color / mirror / Atom feed
  • [parent not found: <3A71814B.7E8CCF60@acm.org>]
  • * Re: Duration vs. Ada.Real_Time
           [not found] <980495512.529981@edh3>
           [not found] ` <8mac6.9236$R5.473526@news1.frmt1.sfba.home.com>
           [not found] ` <3A71814B.7E8CCF60@acm.org>
    @ 2001-01-28 19:32 ` Simon Wright
      2001-01-31  6:13   ` Robert Dewar
      2 siblings, 1 reply; 29+ messages in thread
    From: Simon Wright @ 2001-01-28 19:32 UTC (permalink / raw)
    
    
    [-- Warning: decoded text below may be mangled, UTF-8 assumed --]
    [-- Attachment #1: Type: text/plain, Size: 1719 bytes --]
    
    "Atle R�stad" <aer@edh.ericsson.se> writes:
    
    > Hi
    > 
    > I have some code that has a max of 30 milliseconds to process, and need to
    > measure if this is possible. But the requirement for Duration is that
    > Duration'Small must be less then 20 milliseconds, and
    > Ada.Real_Time.Time_Unit must be less then 20 microseconds.
    [...]
    > I will run the program on an Solaris 8. How will this affect my time
    > measuring? What resolution can I expect?
    
    (1) On Solaris (>=2.6 or so, I think) the default operating system
        tick is 10 mS.
    
    (2) GNAT uses nanosleep() to implement delay (pretty sure of this).
    
    (3) nanosleep() sleeps for *at least* the time you specify, rounded up
        to an integral number of ticks.
    
    (4) So, if you "delay 0.000_001;", you'll delay for at least 10 mS and
        up to 20 mS.
    
    However, you can change the OS tick to 1 mS by writing
    
      set hires_tick 1
    
    in /etc/system (I may have the exact grammar wrong, mail me at work
    for the details). This will give you a maximum repetition frequency of
    500 Hz.
    
    NB, that 1 is a boolean meaning 'true', _not_ the number of milliseconds!
    
    Running as root gives you real-time dispatching but doesn't change the
    behaviour of nanosleep().
    
    Linux is similar, though there's no easy way to change the tick rate
    (you can edit /usr/include/asm/param.h, or figure a way to redefine
    HZ, and rebuild the kernel; worked fine for us, but YMMV, though,
    since the library won't match). And don't try delays < 2 mS as root,
    they're executed as busy loops.
    
    -- 
    Simon Wright                       Work Email: simon.j.wright@amsjv.com
    Alenia Marconi Systems                        Voice: +44(0)23-9270-1778
    Integrated Systems Division                     FAX: +44(0)23-9270-1800
    
    
    
    ^ permalink raw reply	[flat|nested] 29+ messages in thread
  • * Re: Duration vs. Ada.Real_Time
    @ 2001-01-31  5:51 Christoph Grein
      2001-02-01  6:27 ` Simon Wright
      0 siblings, 1 reply; 29+ messages in thread
    From: Christoph Grein @ 2001-01-31  5:51 UTC (permalink / raw)
      To: comp.lang.ada
    
    > (1) On Solaris (>=2.6 or so, I think) the default operating system
    >    tick is 10 mS.
    
    What do you mean by measuring times in Millisiemens (mS)?
    
    	10 mS = 10E-3 S = 10e-3 / Ohm
    
    which definitely has not the unit of time.
    
    Please see the new thread "Wrong SI unit specification" ;>)
    
    
    
    
    
    ^ permalink raw reply	[flat|nested] 29+ messages in thread

    end of thread, other threads:[~2001-02-10  3:08 UTC | newest]
    
    Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <980495512.529981@edh3>
         [not found] ` <8mac6.9236$R5.473526@news1.frmt1.sfba.home.com>
    2001-01-26 15:30   ` Duration vs. Ada.Real_Time Robert Dewar
         [not found] ` <3A71814B.7E8CCF60@acm.org>
    2001-01-26 15:33   ` Robert Dewar
    2001-01-26 20:58     ` Marin David Condic
    2001-01-26 21:32       ` Ted Dennison
    2001-01-27  5:01         ` Keith Thompson
    2001-01-27 14:40           ` Marin David Condic
    2001-01-27 14:34         ` Marin David Condic
    2001-01-28  0:18           ` Robert Dewar
    2001-01-29 14:54           ` Ted Dennison
    2001-01-29 18:40             ` Marin David Condic
    2001-02-08  3:32               ` Buz Cory
    2001-02-08 15:34                 ` Marin David Condic
    2001-02-10  3:08                   ` Steve Whalen
    2001-01-28  0:13       ` Robert Dewar
    2001-01-29 14:02         ` Marin David Condic
    2001-01-30 14:33         ` Stephen Leake
    2001-01-31 14:55           ` Marin David Condic
    2001-01-31 16:03           ` Ted Dennison
    2001-01-31 19:16             ` Marin David Condic
    2001-01-31 20:53               ` Ted Dennison
    2001-01-31 21:30                 ` tmoran
    2001-01-31 21:47                 ` Marin David Condic
    2001-02-01 14:18                   ` Ted Dennison
    2001-01-28 19:32 ` Simon Wright
    2001-01-31  6:13   ` Robert Dewar
    2001-01-31 15:07     ` Marin David Condic
    2001-02-01  5:43       ` Robert Dewar
    2001-01-31  5:51 Christoph Grein
    2001-02-01  6:27 ` Simon Wright
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox