ccls/src/performance.h

35 lines
1.1 KiB
C
Raw Normal View History

#pragma once
2017-07-29 00:08:04 +00:00
#include "serializer.h"
2017-07-30 06:51:32 +00:00
#include <cstdint>
// Contains timing information for the entire pipeline for importing a file
// into the querydb.
struct PerformanceImportFile {
// All units are in microseconds.
// [indexer] clang parsing the file
2017-07-30 06:51:32 +00:00
uint64_t index_parse = 0;
// [indexer] build the IndexFile object from clang parse
2017-07-30 06:51:32 +00:00
uint64_t index_build = 0;
// [querydb] create IdMap object from IndexFile
2017-07-30 06:51:32 +00:00
uint64_t querydb_id_map = 0;
// [indexer] save the IndexFile to disk
2017-07-30 06:51:32 +00:00
uint64_t index_save_to_disk = 0;
// [indexer] loading previously cached index
2017-07-30 06:51:32 +00:00
uint64_t index_load_cached = 0;
// [indexer] create delta IndexUpdate object
2017-07-30 06:51:32 +00:00
uint64_t index_make_delta = 0;
// [querydb] update WorkingFile indexed file state
2017-09-22 01:14:57 +00:00
// uint64_t querydb_update_working_file = 0;
// [querydb] apply IndexUpdate
2017-09-22 01:14:57 +00:00
// uint64_t querydb_apply_index_update = 0;
2017-07-29 00:08:04 +00:00
};
2017-09-22 01:14:57 +00:00
MAKE_REFLECT_STRUCT(PerformanceImportFile,
index_parse,
index_build,
querydb_id_map,
index_save_to_disk,
index_load_cached,
index_make_delta);