[CodeRefactor] vector reserve before push_back (#3463)

1. reserve `SegmentWriter::_column_writers` before writing it
2. remove some condition branchs in SegmentWriter::init
3. fix hard-coded library names in build-thirdpary.sh
This commit is contained in:
sduzh
2020-05-06 17:16:37 +08:00
committed by GitHub
parent 5e63629b8b
commit d64704599d
2 changed files with 9 additions and 14 deletions

View File

@ -48,8 +48,9 @@ SegmentWriter::SegmentWriter(fs::WritableBlock* wblock,
SegmentWriter::~SegmentWriter() = default;
Status SegmentWriter::init(uint32_t write_mbytes_per_sec) {
Status SegmentWriter::init(uint32_t write_mbytes_per_sec __attribute__((unused))) {
uint32_t column_id = 0;
_column_writers.reserve(_tablet_schema->columns().size());
for (auto& column : _tablet_schema->columns()) {
std::unique_ptr<Field> field(FieldFactory::create(column));
DCHECK(field.get() != nullptr);
@ -66,15 +67,9 @@ Status SegmentWriter::init(uint32_t write_mbytes_per_sec) {
opts.meta->set_is_nullable(column.is_nullable());
// now we create zone map for key columns
if (column.is_key()) {
opts.need_zone_map = true;
}
if (column.is_bf_column()) {
opts.need_bloom_filter = true;
}
if (column.has_bitmap_index()) {
opts.need_bitmap_index = true;
}
opts.need_zone_map = column.is_key();
opts.need_bloom_filter = column.is_bf_column();
opts.need_bitmap_index = column.has_bitmap_index();
std::unique_ptr<ColumnWriter> writer(
new ColumnWriter(opts, std::move(field), _wblock));

View File

@ -569,7 +569,7 @@ build_arrow() {
# s2
build_s2() {
check_if_source_exist $S2_SOURCE
cd $TP_SOURCE_DIR/s2geometry-0.9.0
cd $TP_SOURCE_DIR/$S2_SOURCE
mkdir build -p && cd build
rm -rf CMakeCache.txt CMakeFiles/
CXXFLAGS="-O3" \
@ -639,7 +639,7 @@ build_bitshuffle() {
# croaring bitmap
build_croaringbitmap() {
check_if_source_exist $CROARINGBITMAP_SOURCE
cd $TP_SOURCE_DIR/CRoaring-0.2.60
cd $TP_SOURCE_DIR/$CROARINGBITMAP_SOURCE
mkdir build -p && cd build
rm -rf CMakeCache.txt CMakeFiles/
CXXFLAGS="-O3" \
@ -653,7 +653,7 @@ build_croaringbitmap() {
#orc
build_orc() {
check_if_source_exist $ORC_SOURCE
cd $TP_SOURCE_DIR/orc-1.5.8
cd $TP_SOURCE_DIR/$ORC_SOURCE
mkdir build -p && cd build
rm -rf CMakeCache.txt CMakeFiles/
CXXFLAGS="-O3 -Wno-array-bounds" \
@ -674,7 +674,7 @@ build_orc() {
#cctz
build_cctz() {
check_if_source_exist $CCTZ_SOURCE
cd $TP_SOURCE_DIR/cctz-2.3
cd $TP_SOURCE_DIR/$CCTZ_SOURCE
export PREFIX=$TP_INSTALL_DIR
make -j$PARALLEL && make install
}