Ignore:
Timestamp:
Apr 3, 2023, 4:35:57 PM (15 months ago)
Author:
Mike Brooks <mlbrooks@…>
Branches:
ADT, ast-experimental, master
Children:
34b6a7b6
Parents:
90a3a89
Message:

LL perf: reduce frequency of using volatile variables.

Significantly improves stability across reruns.
5-rep extreme outcomes are within 5% of each other, on 46 out of 51 test programs.
3 of those 5 exceptions, and the only ones more than 7% apart, are uC++.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/benchmarks/list/driver.c

    r90a3a89 rfa6ca1a  
    135135                BOP_INIT(lst, ui, listedItems, 0);
    136136            TRACE('b')
    137             for ( bobs_prog_inserting = 1; bobs_prog_inserting < NumNodes; bobs_prog_inserting += 1 ) {
     137            for ( int privateCurInsert = 1;
     138                  (bobs_prog_inserting = privateCurInsert, privateCurInsert < NumNodes);
     139                  privateCurInsert += 1
     140                ) {
    138141                TRACE('-')
    139                 listedItems[bobs_prog_inserting] =
    140                     BOP_INSERT( lst, ui, listedItems, bobs_prog_inserting );
     142                listedItems[privateCurInsert] =
     143                    BOP_INSERT( lst, ui, listedItems, privateCurInsert );
    141144                TRACE('+')
    142145            }
    143146            TRACE('c')
    144             for ( bobs_prog_removing = 1; bobs_prog_removing < NumNodes; bobs_prog_removing += 1 ) {
     147            for ( int privateCurRemove = 1;
     148                  (bobs_prog_removing = privateCurRemove, privateCurRemove < NumNodes);
     149                  privateCurRemove += 1
     150                ) {
    145151                TRACE('-')
    146                 BOP_REMOVE( lst, ui, listedItems, bobs_prog_removing-1 );
     152                BOP_REMOVE( lst, ui, listedItems, privateCurRemove-1 );
    147153                TRACE('+')
    148154            }
Note: See TracChangeset for help on using the changeset viewer.