> 文章列表 > Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

run_benchmark 程序入口

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
First , create the cg_thread instances in the vector threads and then call each cg_thread’s prepare() function of them.

Subsequently, launch each thread in the vector threads
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

cg_thread

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
m_base = event_base_new() // line 528
一个client_group 拥有一个m_base
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

cg_thread key functions

prepare(void)

start()
join()
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

create_clients(int num)

creating num clients and push them into the m_clients.
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
client.cpp contrutor function
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

If creating clients succssfully , go back to the prepare function in memtier_benchmark.cpp

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
client.cpp 通过 MAIN_CONNECTION 连接服务器完成IP连接
#define MAIN_CONNECTION m_connections[0]

Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读

cg_thread_start

m_thread 是 pthread 结构体,将cg_thread (this)本身传进去
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读
Memtiter-benchmark源码解析4memtier_benchmark.cpp源代码解读