以下のコードはLevelDBから取得したものです。私は理解のために2つのコードブロックを与えています。私は何が起こっているのか理解できません。LevelDB --- C++のコード
ThreadStateは構造体であり、ここでは読者が簡単にできるように書いています。
struct ThreadState {
int tid; // 0..n-1 when running in n threads
Random rand; // Has different seeds for different threads
Stats stats;
SharedState* shared;
ThreadState(int index)
: tid(index),
rand(1000 + index) {
}
};
マークされたコードは、ベンチマーククラスのオブジェクトインスタンス化の下にありますか?下のマークされたコードでは何が起こっていますか?
void Run() {
PrintHeader();
Open();
const char* benchmarks = FLAGS_benchmarks;
while (benchmarks != NULL) {
{
//code ommitted
}
// Reset parameters that may be overriddden bwlow
***void (Benchmark::*method)(ThreadState*) = NULL;*** // What does this code line mean? // Benchmark is a class.
bool fresh_db = false;
int num_threads = FLAGS_threads;
if (name == Slice("fillseq")) {
fresh_db = true;
method = &Benchmark::WriteSeq;
}
必要に応じて、ベンチマークも詳細に実装できます。
ありがとうございました!
お返事ありがとうございました。それは私を助けてくれました。人生がスタックオーバーフローと同じくらい良かった場合のみ! –
@NewUser - 幸せに助けてください:) – StoryTeller