📄 testpar.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 + -