BitMagic-C++
|
Example: Example on how to use bit-transposed string sparse vector. More...
#include <iostream>
#include <sstream>
#include <chrono>
#include <regex>
#include <time.h>
#include <stdio.h>
#include <vector>
#include <map>
#include <utility>
#include <algorithm>
#include <random>
#include "bm.h"
#include "bmalgo.h"
#include "bmserial.h"
#include "bmrandom.h"
#include "bmstrsparsevec.h"
#include "bmsparsevec_algo.h"
#include "bmsparsevec_serial.h"
#include "bmalgo_similarity.h"
#include "bmsparsevec_util.h"
#include "bmdbg.h"
#include "bmtimer.h"
Go to the source code of this file.
Typedefs | |
typedef bm::str_sparse_vector< char, bm::bvector<>, 64 > | str_sparse_vect |
typedef vector< string > | string_vector |
Functions | |
static void | show_help () |
Print help. More... | |
static int | parse_args (int argc, char *argv[]) |
static int | load_dict_report (const std::string &fname, string_vector &str_vec) |
Parse the input file and extract dictionary values. More... | |
static void | check_sparse (const str_sparse_vect &str_sv, const string_vector &str_vec) |
Compare STL vector with bit-transposed container to check correcness. More... | |
static void | pick_benchmark_set (string_vector &bench_vec, string_vector &bench_vec_not_found, const string_vector &str_vec) |
Sample a few random terms out of collection. More... | |
static void | run_benchmark (const str_sparse_vect &str_sv, const string_vector &str_vec) |
int | main (int argc, char *argv[]) |
Variables | |
std::string | sv_out_name |
std::string | sv_in_name |
std::string | i_name |
bool | is_diag = false |
bool | is_timing = false |
bool | is_bench = false |
bm::chrono_taker::duration_map_type | timing_map |
const unsigned | benchmark_max = 15000 |
Example: Example on how to use bit-transposed string sparse vector.
Illustrates how to build a sparse vector, serialize it to disk, load back and do search or binary hybrid search.
Definition in file xsample05.cpp.
typedef bm::str_sparse_vector<char, bm::bvector<>, 64> str_sparse_vect |
Definition at line 173 of file xsample05.cpp.
typedef vector<string> string_vector |
Definition at line 174 of file xsample05.cpp.
|
static |
Compare STL vector with bit-transposed container to check correcness.
Definition at line 233 of file xsample05.cpp.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::get(), and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::size().
Referenced by main().
|
static |
Parse the input file and extract dictionary values.
Definition at line 183 of file xsample05.cpp.
References timing_map.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 447 of file xsample05.cpp.
References BM_DECLARE_TEMP_BLOCK, check_sparse(), bm::chrono_taker::ct_time, bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::empty(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::get(), i_name, is_bench, is_diag, is_timing, load_dict_report(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::optimize(), parse_args(), bm::chrono_taker::print_duration_map(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::push_back(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::remap_from(), run_benchmark(), show_help(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::size(), sv_in_name, sv_out_name, bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::swap(), and timing_map.
|
static |
Definition at line 93 of file xsample05.cpp.
References i_name, is_bench, is_diag, is_timing, show_help(), sv_in_name, and sv_out_name.
Referenced by main().
|
static |
Sample a few random terms out of collection.
Definition at line 252 of file xsample05.cpp.
References benchmark_max, gen(), rand_dev, rand_dis(), bm::bvector< Alloc >::resize(), bm::bvector< Alloc >::set(), and bm::bvector< Alloc >::test().
Referenced by run_benchmark().
|
static |
Definition at line 300 of file xsample05.cpp.
References bm::sparse_vector_scanner< SV >::bfind_eq_str(), bm::sparse_vector_scanner< SV >::bind(), bm::bvector< Alloc >::compare(), bm::bvector< Alloc >::count(), bm::sparse_vector_scanner< SV >::find_eq_str(), pick_benchmark_set(), bm::bvector< Alloc >::set(), bm::bvector< Alloc >::size(), and timing_map.
Referenced by main().
|
static |
Print help.
Definition at line 68 of file xsample05.cpp.
Referenced by main(), and parse_args().
const unsigned benchmark_max = 15000 |
Definition at line 248 of file xsample05.cpp.
Referenced by pick_benchmark_set().
std::string i_name |
Definition at line 86 of file xsample05.cpp.
Referenced by main(), and parse_args().
bool is_bench = false |
Definition at line 89 of file xsample05.cpp.
Referenced by main(), and parse_args().
bool is_diag = false |
Definition at line 87 of file xsample05.cpp.
Referenced by main(), and parse_args().
bool is_timing = false |
Definition at line 88 of file xsample05.cpp.
Referenced by main(), and parse_args().
std::string sv_in_name |
Definition at line 85 of file xsample05.cpp.
Referenced by main(), and parse_args().
std::string sv_out_name |
Definition at line 84 of file xsample05.cpp.
Referenced by main(), and parse_args().
bm::chrono_taker::duration_map_type timing_map |
Definition at line 178 of file xsample05.cpp.
Referenced by load_dict_report(), main(), and run_benchmark().