⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testpar.cpp

📁 FastDb是高效的内存数据库系统
💻 CPP
字号:
//-< TESTPAR.CPP >---------------------------------------------------*--------*// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *// (Main Memory Database Management System)                          *   /\|  *//                                                                   *  /  \  *//                          Created:     10-Dec-98    K.A. Knizhnik  * / [] \ *//                          Last update: 20-Jan-99    K.A. Knizhnik  * GARRET *//-------------------------------------------------------------------*--------*// Test parallel sequential search//-------------------------------------------------------------------*--------*#include "fastdb.h"#include <stdio.h>const int nRecords = 10000;struct Record {    int4 id;    TYPE_DESCRIPTOR((FIELD(id)));};REGISTER(Record);int main(int argc, char* argv[]){    int i, j;    dbDatabase db(dbDatabase::dbAllAccess, 16*1024); // 96Mb page pool    if (db.open("testpar")) {        // db.setConcurrency(4);        for (i = 0; i < nRecords; i++) {             Record rec;            rec.id = i;            insert(rec);        }        db.commit();                dbQuery q;        dbCursor<Record> cursor;        int min;        int max;        q = "id between",min,"and",max;        time_t start = time(NULL);        for (i = 0, j = 0; i+j < nRecords; i += j) {             min = i;            max = i + j;            j += 1;            int n = cursor.select(q);            assert(n == j);            int k = 0;            int sum = 0;            do {                 sum += cursor->id;                k += 1;            } while (cursor.next());            assert(k == j);            assert(sum == k*(k-1)/2 + k*i);        }        printf("Elapsed time for %d sequential searchs in %d records: %d seconds\n",               j, nRecords, int(time(NULL) - start));         q = "id between",min,"and",max,"order by id";        start = time(NULL);        for (i = 0, j = 0; i+j < nRecords; i += j) {             min = i;            max = i + j;            j += 1;            int n = cursor.select(q);            assert(n == j);            int k = i;            do {                 assert(cursor->id == k);                k += 1;            } while (cursor.next());            assert(k == i+j);        }        printf("Elapsed time for %d sequential searchs with sorting in %d records: %d seconds\n",               j, nRecords, int(time(NULL) - start));        db.close();    }     return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -