Ignore:
Timestamp:
Nov 22, 2021, 3:54:54 PM (10 months ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
enum, master, pthread-emulation, qualifiedEnum
Children:
94647b0
Parents:
97d58dc
Message:

String perf append test now compares stretch phase (alloc=fresh) with steady-state (alloc=reuse). Make gets rid of explicit list of targets. Running these with copori up to mean-500 lenght.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/zombies/string-perf/prog.cfa

    r97d58dc rfefd77a  
    108108    clock_t start, end_target, end_actual;
    109109
     110    #if defined IMPL_CFA_LL && defined OP_PTA
     111        string_res pta_ll_temp;
     112    #endif
     113
    110114    #if defined IMPL_CFA_LL
    111         string_res x = "starter";
    112         string_res y;
    113       #if defined OP_PTA
    114         string_res z;
    115       #endif
    116         #define RESET y = x;
     115      #define DECLS \
     116        string_res initval = "starter"; \
     117        string_res accum = { initval, COPY_VALUE };
    117118    #else
    118         string x = "starter";
    119         string y;
    120         #define RESET y = x;
     119      #define DECLS \
     120        string initval = "starter"; \
     121        string accum = initval;
     122    #endif
     123
     124    #if defined ALLOC_REUSE
     125      DECLS
     126      #define RESET \
     127        accum = initval;
     128    #elif defined ALLOC_FRESH
     129      #define RESET \
     130        DECLS
     131    #else
     132      #error bad alloc
    121133    #endif
    122134
     
    127139            RESET
    128140            for ( volatile unsigned int i = 0; i < concatsPerReset; i += 1 ) {
    129               MAYBE( PRINT(y) )
     141              MAYBE( PRINT(accum) )
    130142              char *toAppend = corpus[i % corpuslen]; // ? corpus[rand() % corpuslen]
    131143              #if defined OP_PTA && defined IMPL_CFA_LL
    132                  z = y;
    133                  z += toAppend;
    134                  y = z;
     144                 pta_ll_temp = accum;
     145                 pta_ll_temp += toAppend;
     146                 accum = pta_ll_temp;
    135147              #elif defined OP_PTA
    136                  y = y + toAppend;
     148                 accum = accum + toAppend;
    137149              #elif defined OP_PEQ
    138                  y += toAppend;
     150                 accum += toAppend;
    139151              #endif
    140152            }
Note: See TracChangeset for help on using the changeset viewer.