Ignore:
Timestamp:
Apr 4, 2023, 10:13:39 PM (15 months ago)
Author:
Mike Brooks <mlbrooks@…>
Branches:
ADT, ast-experimental, master
Children:
3e94a23, e9ed2a1
Parents:
e02e13f
Message:

Extend LL perf experiment to run on many dataset sizes.

File:
1 edited

Legend:

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

    re02e13f r9bb8ee42  
    1717
    1818#if defined(NDEBUG) || (defined(__cforall) && !defined(__CFA_DEBUG__))
    19     enum { DefaultNumNodes = 1000, DefaultExperimentDurSec = 1, DefaultCheckDoneFreq = 1000, DefaultExperimentDurOpCount = -1 };
     19    enum { DefaultNumNodes = 1000, DefaultExperimentDurSec = 1, DefaultCheckDonePeriod = 1000, DefaultExperimentDurOpCount = -1 };
    2020    #define TRACE(tp)
    2121#else
    22     enum { DefaultNumNodes = 10, DefaultExperimentDurSec = 1, DefaultCheckDoneFreq = 2, DefaultExperimentDurOpCount = 20 };
     22    enum { DefaultNumNodes = 10, DefaultExperimentDurSec = 1, DefaultCheckDonePeriod = 2, DefaultExperimentDurOpCount = 20 };
    2323    static const char * tp_filter
    2424    // = "";
     
    7979
    8080
    81     const char * usage_args = "[ExperimentDurSec [CheckDoneFreq [NumNodes [ExperimentDurOpCount]]]]";
     81    const char * usage_args = "[ExperimentDurSec [CheckDonePeriod [NumNodes [ExperimentDurOpCount]]]]";
    8282    const int static_arg_posns = 4;
    8383
    8484    unsigned int ExperimentDurSec     = DefaultExperimentDurSec;
    85     unsigned int CheckDoneFreq       = DefaultCheckDoneFreq;
     85    unsigned int CheckDonePeriod      = DefaultCheckDonePeriod;
    8686    unsigned int NumNodes             = DefaultNumNodes;
    8787    size_t       ExperimentDurOpCount = DefaultExperimentDurOpCount;
     
    9090      case 4: ExperimentDurOpCount = atol(argv[4]);
    9191      case 3: NumNodes = atoi(argv[3]);
    92       case 2: CheckDoneFreq = atoi(argv[2]);
     92      case 2: CheckDonePeriod = atoi(argv[2]);
    9393      case 1: ExperimentDurSec = atoi(argv[1]);
    9494    }
    9595
    96     if (ExperimentDurSec == 0 || CheckDoneFreq == 0 || NumNodes == 0 || ExperimentDurOpCount == 0 ) {
     96    if (ExperimentDurSec == 0 || CheckDonePeriod == 0 || NumNodes == 0 || ExperimentDurOpCount == 0 ) {
    9797        printf("usage: %s %s\n", argv[0], usage_args);
    9898        return -1;
     
    140140    clock_t start = clock();
    141141
    142     while (elapsed_sec <= (double) ExperimentDurSec && bobs_ops_completed < ExperimentDurOpCount) {
    143         for ( int t = 0; t < CheckDoneFreq; t += 1 ) {
     142    size_t privateOpsCompleted = 0;
     143
     144    while (elapsed_sec <= (double) ExperimentDurSec && privateOpsCompleted < ExperimentDurOpCount) {
     145        for ( int t = 0; t < CheckDonePeriod; t += 1 ) {
    144146            TRACE('a')
    145147            listedItems[0] =
     
    168170            TRACE('d')
    169171
     172            privateOpsCompleted += NumNodes;
     173
    170174            bobs_prog_rollover_flag = 1;
    171175            TRACE('e')
    172176            bobs_prog_inserting = 0;
    173177            bobs_prog_removing = 0;           
    174             bobs_ops_completed += NumNodes;
     178            bobs_ops_completed = privateOpsCompleted;
    175179            TRACE('f')
    176180            bobs_prog_rollover_flag = 0;
Note: See TracChangeset for help on using the changeset viewer.