From 016dde2652f0caccfb631eca739e1a8e6c9b6874 Mon Sep 17 00:00:00 2001 From: blaginin Date: Tue, 3 Mar 2026 18:59:09 +0000 Subject: [PATCH 1/3] `MiMalloc` for `sqllogictests`? --- Cargo.lock | 1 + datafusion/sqllogictest/Cargo.toml | 1 + datafusion/sqllogictest/bin/sqllogictests.rs | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 23670a7877041..442839299174a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2646,6 +2646,7 @@ dependencies = [ "indicatif", "itertools 0.14.0", "log", + "mimalloc", "object_store", "postgres-types", "regex", diff --git a/datafusion/sqllogictest/Cargo.toml b/datafusion/sqllogictest/Cargo.toml index b00fbe466728e..8f3d1eccb95c7 100644 --- a/datafusion/sqllogictest/Cargo.toml +++ b/datafusion/sqllogictest/Cargo.toml @@ -53,6 +53,7 @@ futures = { workspace = true } half = { workspace = true, default-features = true } indicatif = "0.18" itertools = { workspace = true } +mimalloc = { version = "0.1", default-features = false } log = { workspace = true } object_store = { workspace = true } postgres-types = { version = "0.2.12", features = ["derive", "with-chrono-0_4"], optional = true } diff --git a/datafusion/sqllogictest/bin/sqllogictests.rs b/datafusion/sqllogictest/bin/sqllogictests.rs index b5a382ca6a832..2980f813ac249 100644 --- a/datafusion/sqllogictest/bin/sqllogictests.rs +++ b/datafusion/sqllogictest/bin/sqllogictests.rs @@ -15,6 +15,11 @@ // specific language governing permissions and limitations // under the License. +use mimalloc::MiMalloc; + +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + use clap::{ColorChoice, Parser, ValueEnum}; use datafusion::common::instant::Instant; use datafusion::common::utils::get_available_parallelism; From 157deb25e781701a851b11d4d4d954821b248aba Mon Sep 17 00:00:00 2001 From: blaginin Date: Wed, 4 Mar 2026 09:08:20 +0000 Subject: [PATCH 2/3] taplo --- datafusion/sqllogictest/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/sqllogictest/Cargo.toml b/datafusion/sqllogictest/Cargo.toml index 8f3d1eccb95c7..a3304d971f34b 100644 --- a/datafusion/sqllogictest/Cargo.toml +++ b/datafusion/sqllogictest/Cargo.toml @@ -53,8 +53,8 @@ futures = { workspace = true } half = { workspace = true, default-features = true } indicatif = "0.18" itertools = { workspace = true } -mimalloc = { version = "0.1", default-features = false } log = { workspace = true } +mimalloc = { version = "0.1", default-features = false } object_store = { workspace = true } postgres-types = { version = "0.2.12", features = ["derive", "with-chrono-0_4"], optional = true } # When updating the following dependency verify that sqlite test file regeneration works correctly From 3c9306c0e215c4e33f546f3e904e0cc2d0633c0d Mon Sep 17 00:00:00 2001 From: Dmitrii Blaginin Date: Wed, 4 Mar 2026 18:39:01 +0100 Subject: [PATCH 3/3] LTO for extended `sqllogictests` (#20691) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit related to https://github.com/apache/datafusion/issues/20052 [Example run](https://github.com/apache/datafusion/actions/runs/22663392017/job/65688981067): 2X faster (50 min → 25 min) --- .github/workflows/extended.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/extended.yml b/.github/workflows/extended.yml index 3dece9ebcc4cc..3837feb62226a 100644 --- a/.github/workflows/extended.yml +++ b/.github/workflows/extended.yml @@ -179,9 +179,4 @@ jobs: rust-version: stable - name: Run sqllogictest run: | - cargo test --features backtrace,parquet_encryption --profile release-nonlto --test sqllogictests -- --include-sqlite - cargo clean - - - - + cargo test --features backtrace,parquet_encryption --profile release --test sqllogictests -- --include-sqlite \ No newline at end of file