diff options
Diffstat (limited to 'src/mintdb')
| -rw-r--r-- | src/mintdb/perf_taler_mintdb.c | 52 | ||||
| -rw-r--r-- | src/mintdb/perf_taler_mintdb_interpreter.c | 48 | 
2 files changed, 59 insertions, 41 deletions
| diff --git a/src/mintdb/perf_taler_mintdb.c b/src/mintdb/perf_taler_mintdb.c index 27731f08..670601e3 100644 --- a/src/mintdb/perf_taler_mintdb.c +++ b/src/mintdb/perf_taler_mintdb.c @@ -45,20 +45,19 @@ main (int argc, char ** argv)    struct PERF_TALER_MINTDB_Cmd benchmark[] =    {      // Denomination used to create coins -    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("00 - Start of interpreter"), +    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("Initializing database"),      PERF_TALER_MINTDB_INIT_CMD_LOOP ("01 - denomination loop",                                       NB_DENOMINATION_INIT), -    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("01 - start transaction"), +    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_INSERT_DENOMINATION ("01 - denomination"), -    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("01 - commit transaction"), +    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("01 - save denomination",                                             "01 - denomination loop",                                             "01 - denomination",                                             NB_DENOMINATION_SAVE), -    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("01 - denomination loop end", +    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",                                           "01 - denomination loop"), -    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("01 - init denomination complete"),      // End of initialization      // Reserve initialization      PERF_TALER_MINTDB_INIT_CMD_LOOP ("02 - init reserve loop", @@ -68,14 +67,13 @@ main (int argc, char ** argv)                                             "02 - init reserve loop",                                             "02 - reserve",                                             NB_RESERVE_SAVE), -    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("02 - init reserve end loop", +    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",                                           "02 - init reserve loop"), -    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("02 - reserve init complete"),      // End reserve init      // Withdrawal initialization      PERF_TALER_MINTDB_INIT_CMD_LOOP ("03 - init withdraw loop",                                       NB_WITHDRAW_INIT), -    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("03 - start transaction"), +    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("03 - denomination load",                                             "03 - init withdraw loop",                                             "01 - save denomination"), @@ -85,39 +83,59 @@ main (int argc, char ** argv)      PERF_TALER_MINTDB_INIT_CMD_INSERT_WITHDRAW ("03 - withdraw",                                                  "03 - denomination load",                                                  "03 - reserve load"), -    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("03 - commit transaction"), +    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("03 - blindcoin array",                                             "03 - init withdraw loop",                                             "03 - withdraw",                                             NB_WITHDRAW_SAVE), -    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("03 - withdraw init end loop", +    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",                                           "03 - init withdraw loop"), -    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("03 - withdraw init complete"),      //End of withdrawal initialization      //Deposit initialization      PERF_TALER_MINTDB_INIT_CMD_LOOP ("04 - deposit init loop",                                       NB_DEPOSIT_INIT), -    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION ("04 - start transaction"), +    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("04 - denomination load",                                             "04 - deposit init loop",                                             "01 - save denomination"),      PERF_TALER_MINTDB_INIT_CMD_INSERT_DEPOSIT ("04 - deposit",                                                 "04 - denomination load"), -    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION ("04 - commit transaction"), +    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""),      PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY ("04 - deposit array",                                             "04 - deposit init loop",                                             "04 - deposit",                                             NB_DEPOSIT_SAVE), -    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("04 - deposit init loop end", +    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("",                                           "04 - deposit init loop"), -    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("04 - deposit init complete"), +    PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of initialization"),      // End of deposit initialization -    PERF_TALER_MINTDB_INIT_CMD_END ("end"), +     +    PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - start"), +    PERF_TALER_MINTDB_INIT_CMD_LOOP ("05 - loop", +                                     NB_DEPOSIT_SAVE), +    PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""), +    PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("05 - deposit", +                                           "05 - loop", +                                           "04 - deposit array"), +    PERF_TALER_MINTDB_INIT_CMD_GET_DEPOSIT ("", +                                            ""), +    PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""), +    PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", +                                         "05 - loop"), +    PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - stop"), +    PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", +                                       "05 - start", +                                       "05 - stop", +                                       "deposit insertion", +                                       "deposit/sec", +                                       NB_DEPOSIT_SAVE), +    PERF_TALER_MINTDB_INIT_CMD_END (""),    };    ret = PERF_TALER_MINTDB_run_benchmark ("perf-taler-mintdb",                                           "./test-mint-db-postgres.conf", -                                         NULL, +                                         (struct PERF_TALER_MINTDB_Cmd [])  +                                         {PERF_TALER_MINTDB_INIT_CMD_END("")},                                           benchmark);    if (GNUNET_SYSERR == ret)      return 1; diff --git a/src/mintdb/perf_taler_mintdb_interpreter.c b/src/mintdb/perf_taler_mintdb_interpreter.c index 8df3cf74..0585d16a 100644 --- a/src/mintdb/perf_taler_mintdb_interpreter.c +++ b/src/mintdb/perf_taler_mintdb_interpreter.c @@ -449,8 +449,8 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)            GAUGER ("MINTDB",                    state->cmd[state->i].details.gauger.description, -                  elapsed_ms / state->cmd[state->i].details.gauger.divide, -                  "milliseconds"); +                  ((1.0 * state->cmd[state->i].details.gauger.divide) / elapsed_ms) * 1000, +                  state->cmd[state->i].details.gauger.unit);          }          break; @@ -505,17 +505,17 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)        case PERF_TALER_MINTDB_CMD_GET_DEPOSIT:          {            int source_index; -          struct TALER_MINTDB_Deposit *deposit; +          struct PERF_TALER_MINTDB_Data data;            GNUNET_assert (GNUNET_SYSERR !=                           (source_index =  cmd_find (state->cmd,                                                      state->cmd[state->i]                                                      .details.get_deposit.label_deposit))); -          GNUNET_assert (NULL != -                         (deposit = state->cmd[source_index].exposed.data.deposit)); +          data_copy (&state->cmd[source_index].exposed, +                     &data);            state->plugin->have_deposit (state->plugin->cls,                                         state->session, -                                       deposit); +                                       data.data.deposit);          }          break; @@ -545,18 +545,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)        case PERF_TALER_MINTDB_CMD_GET_RESERVE:          {            int reserve_index; -          struct TALER_MINTDB_Reserve *reserve; +          struct PERF_TALER_MINTDB_Data data;            GNUNET_assert (GNUNET_SYSERR !=                           (reserve_index = cmd_find (state->cmd,                                                     state->cmd[state->i]                                                     .details.get_reserve.label_reserve))); -          GNUNET_assert (NULL != -                         (reserve = state->cmd[reserve_index].exposed.data.reserve)); +          data_copy (&state->cmd[reserve_index].exposed, +                     &data);            GNUNET_assert (GNUNET_OK ==                           (state->plugin->reserve_get (state->plugin->cls,                                                        state->session, -                                                      reserve))); +                                                      data.data.reserve)));          }          break; @@ -564,18 +564,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)          {           int reserve_index;           struct TALER_MINTDB_ReserveHistory *history;  -         struct TALER_MINTDB_Reserve *reserve; +         struct PERF_TALER_MINTDB_Data data;           GNUNET_assert (GNUNET_SYSERR !=                          (reserve_index = cmd_find (state->cmd,                                                     state->cmd[state->i]                                                     .details.get_reserve_history.label_reserve))); -         GNUNET_assert (NULL != -                        (reserve = state->cmd[reserve_index].exposed.data.reserve)); +         data_copy (&state->cmd[reserve_index].exposed, +                    &data);           GNUNET_assert (NULL !=                          (history = state->plugin->get_reserve_history (state->plugin->cls,                                                                         state->session, -                                                                       &reserve->pub))); +                                                                       &data.data.reserve->pub)));           state->plugin->free_reserve_history (state->plugin->cls,                                                history);          } @@ -597,18 +597,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)        case PERF_TALER_MINTDB_CMD_GET_DENOMINATION:          {            int source_index; -          struct TALER_MINTDB_DenominationKeyIssueInformation *dki; +          struct PERF_TALER_MINTDB_Data data;            GNUNET_assert (GNUNET_SYSERR !=                           (source_index =  cmd_find (state->cmd,                                                      state->cmd[state->i]                                                      .details.get_denomination.label_denom))); -          GNUNET_assert (NULL != -                         (dki = state->cmd[source_index].exposed.data.dki)); +          data_copy (&state->cmd[source_index].exposed, +                     &data);            state->plugin->get_denomination_info (state->plugin->cls,                                                  state->session, -                                                &dki->denom_pub, -                                                &dki->issue); +                                                &data.data.dki->denom_pub, +                                                &data.data.dki->issue);          }          break; @@ -641,18 +641,18 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state)        case PERF_TALER_MINTDB_CMD_GET_WITHDRAW:          {            int source_index; -          struct TALER_MINTDB_CollectableBlindcoin *blindcoin ; +          struct PERF_TALER_MINTDB_Data data;            GNUNET_assert (GNUNET_SYSERR !=                           (source_index = cmd_find (state->cmd,                                                     state->cmd[state->i]                                                     .details.get_denomination.label_denom))); -          GNUNET_assert (NULL != -                         (blindcoin = state->cmd[source_index].exposed.data.blindcoin)); +          data_copy (&state->cmd[source_index].exposed, +                     &data);            state->plugin->get_withdraw_info (state->plugin->cls,                                              state->session, -                                            &blindcoin->h_coin_envelope, -                                            blindcoin); +                                            &data.data.blindcoin->h_coin_envelope, +                                            data.data.blindcoin);          }          break; | 
