Skip to content

Commit 88e85b8

Browse files
authored
chore: Extracting databend_common_version to help improve compilation cache hit rate (#17801)
Before refactoring, compilation time was around 19 minutes, with 88 Cache misses. After refactoring the compile time is around 16 minutes with 72 Cache misses
1 parent dd2447c commit 88e85b8

File tree

64 files changed

+277
-339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+277
-339
lines changed

.github/actions/build_linux/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ runs:
9090
- name: Check Binary Info
9191
shell: bash
9292
run: |
93+
grep ' Compiled in ' target/sccache.log
9394
readelf -p .comment ./target/${{ inputs.target }}/${{ env.BUILD_PROFILE }}/databend-query || true
9495
ldd ./target/${{ inputs.target }}/${{ env.BUILD_PROFILE }}/databend-query || true
9596

.github/actions/test_unit/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ runs:
1212
- shell: bash
1313
run: |
1414
cargo -Zgitoxide=fetch -Zgit=shallow-index,shallow-deps nextest run --no-fail-fast --hide-progress-bar
15+
grep ' Compiled in ' target/sccache.log
1516
env:
1617
RUST_TEST_THREADS: "8"
1718
RUST_LOG: ERROR

Cargo.lock

Lines changed: 19 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ members = [
2828
"src/common/storage",
2929
"src/common/vector",
3030
"src/common/license",
31+
"src/common/version",
3132
"src/query/ast",
3233
"src/query/codegen",
3334
"src/query/config",
@@ -187,6 +188,7 @@ databend-common-storages-view = { path = "src/query/storages/view" }
187188
databend-common-tracing = { path = "src/common/tracing" }
188189
databend-common-users = { path = "src/query/users" }
189190
databend-common-vector = { path = "src/common/vector" }
191+
databend-common-version = { path = "src/common/version" }
190192
databend-enterprise-aggregating-index = { path = "src/query/ee_features/aggregating_index" }
191193
databend-enterprise-attach-table = { path = "src/query/ee_features/attach_table" }
192194
databend-enterprise-data-mask-feature = { path = "src/query/ee_features/data_mask" }

scripts/setup/run_build_tool.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ if [[ $ENABLE_SCCACHE == "true" ]]; then
7373
env | grep -E "^SCCACHE_" >"${CARGO_HOME}/sccache.env"
7474
EXTRA_ARGS="${EXTRA_ARGS} --env RUSTC_WRAPPER=sccache --env-file ${CARGO_HOME}/sccache.env"
7575
if [[ $COMMAND == "cargo" ]]; then
76-
COMMAND_ARGS="mold -run ${COMMAND_ARGS} && sccache --show-stats"
76+
COMMAND_ARGS="mold -run ${COMMAND_ARGS} && sccache --show-adv-stats"
7777
fi
7878
fi
7979

src/binaries/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ databend-common-meta-client = { workspace = true }
3030
databend-common-metrics = { workspace = true }
3131
databend-common-storage = { workspace = true }
3232
databend-common-tracing = { workspace = true }
33+
databend-common-version = { workspace = true }
3334
databend-enterprise-query = { workspace = true }
3435
databend-query = { workspace = true }
3536
databend-storages-common-table-meta = { workspace = true }

src/binaries/query/ee_main.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ use databend_common_exception::ResultExt;
2626
use databend_common_tracing::pipe_file;
2727
use databend_common_tracing::set_crash_hook;
2828
use databend_common_tracing::SignalListener;
29+
use databend_common_version::DATABEND_COMMIT_VERSION;
2930
use databend_enterprise_query::enterprise_services::EnterpriseServices;
3031
use entry::MainError;
3132

@@ -37,12 +38,10 @@ use crate::entry::start_services;
3738
pub static GLOBAL_ALLOCATOR: TrackingGlobalAllocator = TrackingGlobalAllocator::create();
3839

3940
fn main() {
40-
let binary_version = (*databend_common_config::DATABEND_COMMIT_VERSION).clone();
41-
4241
// Crash tracker
4342
let (input, output) = pipe_file().unwrap();
4443
set_crash_hook(output);
45-
SignalListener::spawn(input, binary_version);
44+
SignalListener::spawn(input, DATABEND_COMMIT_VERSION.to_string());
4645

4746
// Thread tracker
4847
ThreadTracker::init();

src/binaries/query/entry.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ use databend_common_base::runtime::set_alloc_error_hook;
2020
use databend_common_base::runtime::GLOBAL_MEM_STAT;
2121
use databend_common_config::Commands;
2222
use databend_common_config::InnerConfig;
23-
use databend_common_config::DATABEND_COMMIT_VERSION;
24-
use databend_common_config::DATABEND_GIT_SEMVER;
25-
use databend_common_config::DATABEND_GIT_SHA;
26-
use databend_common_config::DATABEND_SEMVER;
2723
use databend_common_exception::ErrorCode;
2824
use databend_common_exception::Result;
2925
use databend_common_exception::ResultExt;
3026
use databend_common_meta_client::MIN_METASRV_SEMVER;
3127
use databend_common_metrics::system::set_system_version;
3228
use databend_common_storage::DataOperator;
3329
use databend_common_tracing::set_panic_hook;
30+
use databend_common_version::DATABEND_COMMIT_VERSION;
31+
use databend_common_version::DATABEND_GIT_SEMVER;
32+
use databend_common_version::DATABEND_GIT_SHA;
33+
use databend_common_version::DATABEND_SEMVER;
3434
use databend_query::clusters::ClusterDiscovery;
3535
use databend_query::local;
3636
use databend_query::persistent_log::GlobalPersistentLog;
@@ -220,7 +220,7 @@ pub async fn start_services(conf: &InnerConfig) -> Result<(), MainError> {
220220
{
221221
set_system_version(
222222
"query",
223-
DATABEND_GIT_SEMVER.as_str(),
223+
DATABEND_GIT_SEMVER.unwrap_or("unknown"),
224224
DATABEND_GIT_SHA.as_str(),
225225
);
226226
let address = conf.query.metric_api_address.clone();

src/binaries/query/oss_main.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ use databend_common_license::license_manager::OssLicenseManager;
2828
use databend_common_tracing::pipe_file;
2929
use databend_common_tracing::set_crash_hook;
3030
use databend_common_tracing::SignalListener;
31+
use databend_common_version::DATABEND_COMMIT_VERSION;
3132
use entry::MainError;
3233

3334
use crate::entry::init_services;
@@ -38,12 +39,10 @@ use crate::entry::start_services;
3839
pub static GLOBAL_ALLOCATOR: TrackingGlobalAllocator = TrackingGlobalAllocator::create();
3940

4041
fn main() {
41-
let binary_version = (*databend_common_config::DATABEND_COMMIT_VERSION).clone();
42-
4342
// Crash tracker
4443
let (input, output) = pipe_file().unwrap();
4544
set_crash_hook(output);
46-
SignalListener::spawn(input, binary_version);
45+
SignalListener::spawn(input, DATABEND_COMMIT_VERSION.to_string());
4746

4847
// Thread tracker
4948
ThreadTracker::init();

src/binaries/tool/table_meta_inspector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ use std::io::Write;
2424
use clap::Parser;
2525
use databend_common_config::Config;
2626
use databend_common_config::InnerConfig;
27-
use databend_common_config::DATABEND_COMMIT_VERSION;
2827
use databend_common_exception::Result;
2928
use databend_common_storage::init_operator;
3029
use databend_common_storage::StorageConfig;
3130
use databend_common_tracing::init_logging;
3231
use databend_common_tracing::Config as LogConfig;
32+
use databend_common_version::DATABEND_COMMIT_VERSION;
3333
use databend_query::GlobalServices;
3434
use databend_storages_common_table_meta::meta::SegmentInfo;
3535
use databend_storages_common_table_meta::meta::TableSnapshot;

0 commit comments

Comments
 (0)