[gambit-list] heartbeat frequency problem in make check

Cristian Baboi cristi at ot.onrc.ro
Fri Oct 24 02:39:50 EDT 2008


On Thu, 23 Oct 2008 18:10:50 +0300, Marc Feeley <feeley at iro.umontreal.ca>  
wrote:
>
>
> /*
>   * File: "timer-perf.c".
>   *
>   * This program was written by Marc Feeley (feeley at iro.umontreal.ca).
>   *
>   * This program tests the accuracy of the ITIMER_VIRTUAL and ITIMER_REAL
>   * timers.  When the setitimer is used to request a given timer interval
>   * the system will setup the timer to deliver a "heartbeat interrupt"
>   * at a certain interval, which generally is not exactly the one
>   * requested (because the timers have a certain granularity and a
>   * minimal interval).  With a call to getitimer it is possible to
>   * determine which interval was set by the OS (the "claimed" interval).
>   *
>   * In this test, "accuracy" is measured as the ratio between the
>   * claimed interval and the actual interval obtained.  The tests
>   * on Mac OS X and Linux show that the timer granularity, minimal
>   * interval and accuracy vary considerably between these operating
>   * systems.
>   *
>   * Execution on Mac OS X 10.5.5 on a Mac Book Pro with Intel Core Duo:
>   *
>   *   % gcc timer-perf.c
>   *   % time ./a.out
>   *   ITIMER_REAL: requested, claimed and actual intervals in us and  
> accuracy
>   *       100000   100000   101318 (101%)
>   *        50000    50000    50061 (100%)
>   *        20000    20000    19884 (99%)
>   *        10000    10000     9945 (99%)
>   *         5000     5000     4957 (99%)
>   *         2000     2000     1970 (98%)
>   *         1000     1000      979 (97%)
>   *          500      500      482 (96%)
>   *          200      200      183 (91%)
>   *          100      100       86 (86%)
>   *   ITIMER_VIRTUAL: requested, claimed and actual intervals in us and  
> accuracy
>   *       100000   100000   103766 (103%)
>   *        50000    50000    52527 (105%)
>   *        20000    20000    22161 (110%)
>   *        10000    10000    11818 (118%)
>   *         5000     5000     7286 (145%)
>   *         2000     2000     4527 (226%)
>   *         1000     1000     3141 (314%)
>   *          500      500     2762 (552%)
>   *          200      200     2333 (1166%)
>   *          100      100     2407 (2407%)
>   *   done  (dummy = 1566934064)
>   *
>   *   real	1m27.405s
>   *   user	1m25.414s
>   *   sys	0m1.516s
>   *
>   * Execution on Linux:
>   *
>   *   % gcc timer-perf.c
>   *   % time ./a.out
>   *   ITIMER_REAL: requested, claimed and actual intervals in us and  
> accuracy
>   *       100000   100000   104387 (104%)
>   *        50000    50000    50639 (101%)
>   *        20000    20000    20074 (100%)
>   *        10000    10000    10037 (100%)
>   *         5000     5000     5018 (100%)
>   *         2000     2000     4000 (200%)
>   *         1000     1000     4007 (400%)
>   *          500      500     4007 (801%)
>   *          200      200     3978 (1989%)
>   *          100      100     4000 (4000%)
>   *   ITIMER_VIRTUAL: requested, claimed and actual intervals in us and  
> accuracy
>   *       100000   100006   104197 (104%)
>   *        50000    52003    52098 (100%)
>   *        20000    20001    20142 (100%)
>   *        10000    12000    12043 (100%)
>   *         5000     8000     8029 (100%)
>   *         2000     4000     4007 (100%)
>   *   done  (dummy = 2132937504)
>   *
>   *   real    0m35.339s
>   *   user    0m35.302s
>   *   sys     0m0.000s
>   */
>

Here are the results for 2 linux systems

RHEL 4.7 64 bit, 2 x intel xeon  CPU 3.20GHz

Two sequential runs in foreground
===================================
ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103615 (102%)
      50000    50992    51316 (100%)
      20000    20996    21019 (100%)
      10000    10998    11027 (100%)
       5000     5999     5819 (97%)
       2000     2999     3002 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   102089 (101%)
      50000    50992    52343 (102%)
      20000    20996    21194 (100%)
      10000    10998    11052 (100%)
       5000     5999     6004 (100%)
       2000     2999     3002 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = 1551135873)

real    0m32.383s
user    0m32.311s
sys     0m0.065s

ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   102194 (101%)
      50000    50992    51702 (101%)
      20000    20996    21064 (100%)
      10000    10998    11003 (100%)
       5000     5999     6011 (100%)
       2000     2999     3001 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   101603 (100%)
      50000    50992    51387 (100%)
      20000    20996    21189 (100%)
      10000    10998    11004 (100%)
       5000     5999     6005 (100%)
       2000     2999     3003 (100%)
       1000     1999     2001 (100%)
        500      999     1000 (100%)
done  (dummy = 1525906181)

real    0m31.960s
user    0m31.953s
sys     0m0.002s

Four parallel runs in background
==================================
ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103826 (102%)
      50000    50992    51044 (100%)
      20000    20996    21208 (101%)
      10000    10998    11023 (100%)
       5000     5999     6002 (100%)
       2000     2999     3001 (100%)
       1000     1999     1999 (100%)
        500      999      999 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   102616 (101%)
      50000    50992    51911 (101%)
      20000    20996    21211 (101%)
      10000    10998    11050 (100%)
       5000     5999     6007 (100%)
       2000     2999     3002 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = 214280170)

9 parallel runs in background
==================================
ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984    52943 (52%)
      50000    50992    33174 (65%)
      20000    20996    17676 (84%)
      10000    10998    10034 (91%)
       5000     5999     5727 (95%)
       2000     2999     2998 (99%)
       1000     1999     2000 (100%)
        500      999      999 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   101439 (100%)
      50000    50992    51376 (100%)
      20000    20996    21085 (100%)
      10000    10998    11014 (100%)
       5000     5999     6017 (100%)
       2000     2999     3004 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = 680961885)
---------------------------------------------

RHEL 4.7 32 bit pentium4 2.4 GHz


Two sequential runs in foreground
===================================
ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103219 (102%)
      50000    50992    50919 (99%)
      20000    20996    21068 (100%)
      10000    10998    10988 (99%)
       5000     5999     5988 (99%)
       2000     2999     2995 (99%)
       1000     1999     1995 (99%)
        500      999      999 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103131 (102%)
      50000    50992    51624 (101%)
      20000    20996    21038 (100%)
      10000    10998    11017 (100%)
       5000     5999     6000 (100%)
       2000     2999     3001 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = 825648992)

real    0m56.543s
user    0m56.344s
sys     0m0.023s

ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103287 (102%)
      50000    50992    51529 (101%)
      20000    20996    21038 (100%)
      10000    10998    10995 (99%)
       5000     5999     5993 (99%)
       2000     2999     2996 (99%)
       1000     1999     1995 (99%)
        500      999      999 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103337 (102%)
      50000    50992    51653 (101%)
      20000    20996    21032 (100%)
      10000    10998    11020 (100%)
       5000     5999     6004 (100%)
       2000     2999     3001 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = 952733829)

real    0m56.356s
user    0m56.164s
sys     0m0.019s

Four concurrent runs in background
===================================
ITIMER_REAL: requested, claimed and actual intervals in us and accuracy
     100000   100984    50292 (49%)
      50000    50992    34130 (66%)
      20000    20996    17724 (84%)
      10000    10998    10007 (90%)
       5000     5999     5735 (95%)
       2000     2999     2936 (97%)
       1000     1999     1966 (98%)
        500      999      999 (100%)
ITIMER_VIRTUAL: requested, claimed and actual intervals in us and accuracy
     100000   100984   103102 (102%)
      50000    50992    51712 (101%)
      20000    20996    21038 (100%)
      10000    10998    11023 (100%)
       5000     5999     6009 (100%)
       2000     2999     3001 (100%)
       1000     1999     2000 (100%)
        500      999     1000 (100%)
done  (dummy = -364232017)



________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Servers.
  part000.txt - is OK
  test6.ok - is OK
  test4.ok - is OK
http://www.eset.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test6.ok
Type: application/octet-stream
Size: 310802 bytes
Desc: not available
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20081024/d2a45331/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test4.ok
Type: application/octet-stream
Size: 391551 bytes
Desc: not available
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20081024/d2a45331/attachment-0001.obj>


More information about the Gambit-list mailing list