- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BerkeleyDB和eXtremeDB性能在LINUX下的比较
BerkeleyDB和eXtremeDB性能在LINUX下的比较
1、BerkeleyDB测试源程序:
#include sys/types.h
#include assert.h#include stdio.h#include stdlib.h#include string.h
#ifdef _WIN32extern int getopt(int, char * const *, const char *);#else#include unistd.h#endif
#include db.h
extern void __os_clock __P((DB_ENV *, u_int32_t *, u_int32_t *));void usage __P((void));
struct db_time {?u_int32_t secs, usecs;};
struct db_time? start_time, end_time;
u_int32_t? pagesize = 32 * 1024;u_int?? bulkbufsize = 4 * 1024 * 1024;u_int??????????? logbufsize = 8 * 1024 * 1024;u_int??????????? cachesize = 32 * 1024 * 1024;u_int?? datasize = 32;u_int? ? keysize = 8;u_int??????????? numitems = 0;FILE???????????? *fp;
char??*progname;
void op_ds(u_int, int);void op_ds_bulk(u_int, u_int *);void op_tds(u_int, int, u_int32_t);void res(char *, u_int);
voidres(char *msg, u_int ops){?double elapsed;?struct db_time v;
?v.secs = end_time.secs - start_time.secs;?v.usecs = end_time.usecs - start_time.usecs;?if (start_time.usecs end_time.usecs) {??v.secs--;??v.usecs += 1000000;?}?elapsed = v.secs + v.usecs / 1e6;?printf(%s\n\telapsed time: %f seconds : %g key/data pairs per sec\n,???? msg, elapsed, ops / elapsed);}
voidop_ds(u_int ops, int update){?char *letters = abcdefghijklmnopqrstuvwxuz;?DB *dbp;?DBT key, data;?char *keybuf, *databuf;?DB_MPOOL_STAT? *gsp;
?(void)remove(a);
?assert((keybuf = malloc(keysize)) != NULL);?assert((databuf = malloc(datasize)) != NULL);
?memset(key, 0, sizeof(key));?memset(data, 0, sizeof(data));?key.data = keybuf;?key.size = keysize;?memset(keybuf, a, keysize);
?data.data = databuf;?data.size = datasize;?memset(databuf, b, datasize);
?assert(db_create(dbp, NULL, 0) == 0);
?dbp-set_errfile(dbp, stderr);
?assert(dbp-set_pagesize(dbp, pagesize) == 0);?assert(dbp-open(dbp, NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0666) == 0);
?dbp-dbenv-memp_stat(dbp-dbenv, gsp, NULL, DB_STAT_CLEAR);
?if (update) {???????? ??__os_clock(NULL, start_time.secs, start_time.u
文档评论(0)