Perf05
|
Source code for the RDM Perf05 example. More...
#include <stdio.h>
#include "rdm.h"
#include "perf05_db.h"
#include "perf05_db_dbd.h"
Macros | |
#define | NUM_RECORDS 50000 |
Functions | |
void | display_elapsed_time (const char *msg, uint64_t start_time, uint64_t end_time) |
Display a message and the elapsed time to perform database operations. | |
int32_t | initialize (TFS_HANDLE *hTFS, DB_TASK **task) |
Initialize the RDM runtime library for use in the perf05 example. | |
void | cleanup (TFS_HANDLE hTFS, DB_TASK *task) |
Cleanup the RDM runtime library. | |
int32_t | add_records (int32_t transaction_size, DB_TASK *task) |
Insert 50,000 simple records into the perf05 database. | |
int32_t | main () |
Main function for perf05 example. |
Source code for the RDM Perf05 example.
#define NUM_RECORDS 50000 |
Number of records to insert
int32_t add_records | ( | int32_t | transaction_size, |
DB_TASK * | task | ||
) |
Insert 50,000 simple records into the perf05 database.
This function adds 50,000 simple records into the inmemory database. The simple record contains only a single integer field with no index. The function will calculate and display the total time elapsed while inserting the records
[in] | transaction_size | Number of inserts to perform per transaction |
[in] | task | RDM task initialized with the perf05 database open and as the current database |
void cleanup | ( | TFS_HANDLE | hTFS, |
DB_TASK * | task | ||
) |
Cleanup the RDM runtime library.
This functions closes all open databases and cleans up the RDM runtime task used in the perf05 example. It also terminates the STANDALONE TFS used in the example.
[out] | hTFS | Pointer to the TFS handle to be terminated |
[out] | task | Pointer to the RDM task to be cleaned up |
void display_elapsed_time | ( | const char * | msg, |
uint64_t | start_time, | ||
uint64_t | end_time | ||
) |
Display a message and the elapsed time to perform database operations.
[in] | msg | Message to be display along with the elapsed time |
[in] | start_time | Start of elapsed time to display |
[in] | end_time | End of elapsed |
int32_t initialize | ( | TFS_HANDLE * | hTFS, |
DB_TASK ** | task | ||
) |
Initialize the RDM runtime library for use in the perf05 example.
This function initializes the RDM Transactional File Server (TFS) to use the direct-link transactional TFS implementation. It also creates an RDM runtime task and opens the "perf05_db" database in exclusive ('x') mode. Exclusve mode does not require database locks or transactions.
[out] | hTFS | Pointer to the TFS handle to be initialized |
[out] | task | Pointer to the RDM task to be initialized |
int32_t main | ( | ) |
Main function for perf05 example.
The function initializes the RDM environment and runs the insert operations. over a number of transaction block sizes