gpt4 book ai didi

c++ - Berkeley DB 和 C++ 基准示例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:00:06 26 4
gpt4 key购买 nike

我正在尝试使用一些 berkeley db 和 c++ 代码运行基准测试,仅用于研究目的。目前我正在使用以下代码进行测试。我只用递增的整数填充记录(为了更好的可读性,我省略了错误处理之类的东西)

(db是我自己的berkeley db类)

// Open the database
db.open( NULL, db_file_name.c_str(), NULL, DB_BTREE, open_flags, 0 );

int key_content = 4000;
int data_content = 4000;

DWORD start = ::GetTickCount(); // start counter

while( i <= p_count )
{
/*sprintf_s( rec_buf, "my_record_%d", i );
std::string description = rec_buf;*/


Dbt key( &key_content, sizeof(int) );
Dbt data( &data_content, sizeof(int) );

db.put( NULL, &key, &data, DB_NOOVERWRITE );
}

DWORD end = ::GetTickCount(); // stop counter
DWORD duration = end - start;
std::cout << "Duration for " << p_count << " records: " << duration << " ms" << std::endl;

所以我的问题是这是否是一种有效的基准测试方法,因为我进行 100.000 次放置操作的时间约为 1900 毫秒(~2 秒)。在伯克利发布的一份白皮书中,他们说他们每秒有高达 90.700 个放置操作的结果......根据我的基准测试,我每秒有大约 50.000 个放置操作。

是否有更好的方法来对 berkeley 进行基准测试?您有任何用于开始使用和测试 berkeley 的代码示例吗?

提前致谢。

最佳答案

基本上,只有当所有其他变量都保持不变时,才能将性能数据与另一个基准测试结果进行比较。这些变量可能是详尽无遗的,我将尝试放置其中的一些

  1. 处理者。
  2. 内存
  3. 磁盘吞吐量
  4. 加载系统。
  5. 操作系统。
  6. 编译参数。
  7. 正在对操作系统和数据库进行基准测试的相应系统的调整参数。
  8. 数据大小。

关于c++ - Berkeley DB 和 C++ 基准示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com