Ignore:
Timestamp:
Jan 21, 2020, 6:14:34 PM (23 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
5518719
Parents:
c12869e
Message:

update benchmarks for concurrency paper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/schedint/upp.cc

    rc12869e r26fd986  
    1111                cond.signal();
    1212        }
     13        void __attribute__((noinline)) wait() {
     14                go = 1;
     15                for ( size_t i = 0; i < times; i++ ) {
     16                        cond.wait();
     17                }
     18        }
     19} m;
    1320
    14         int __attribute__((noinline)) wait() {
    15                 go = 1;
     21_Task T {
     22        void main() {
     23                while ( go == 0 ) { yield(); } // waiter must start first
    1624                BENCH(
    17                         for (size_t i = 0; i < times; i++) {
    18                                 cond.wait();
     25                        for ( size_t i = 0; i < times; i++ ) {
     26                                m.call();
    1927                        },
    2028                        result
    2129                )
    2230                printf( "%g\n", result );
    23                 go = 0;
    24                 return 0;
    25         }
    26 };
    27 
    28 M m;
    29 
    30 _Task T {
    31         void main() {
    32                 while(go == 0) { yield(); }
    33                 while(go == 1) { m.call(); }
    34 
    3531        }
    3632};
     
    3935        BENCH_START()
    4036        T t;
    41         return m.wait();
     37        m.wait();
    4238}
    4339
Note: See TracChangeset for help on using the changeset viewer.