From 1432939c2eff1d18f82072ef52878f28608abe8c Mon Sep 17 00:00:00 2001 From: yujingxuan Date: Fri, 22 May 2026 13:50:49 +0800 Subject: [PATCH 1/2] release memory of response body to avoid memory consumation for downloading large response body or repeating many times --- packages/hurl/src/parallel/runner.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/hurl/src/parallel/runner.rs b/packages/hurl/src/parallel/runner.rs index 9323caf50dd..6bca8cb642e 100644 --- a/packages/hurl/src/parallel/runner.rs +++ b/packages/hurl/src/parallel/runner.rs @@ -131,7 +131,7 @@ impl ParallelRunner { let workers = (0..workers_count) .map(|i| { let worker = Worker::new(WorkerId::from(i), &tx_in, &rx_out); - let state = WorkerState::Idle; + let state: WorkerState = WorkerState::Idle; (worker, state) }) .collect::>(); @@ -250,7 +250,17 @@ impl ParallelRunner { // Report the completion of this job and update the progress. self.progress.print_completed(&msg.result, &mut stderr); - results.push(msg.result); + // release memory before results.push + let mut result = msg.result; + if matches!(self.output_type, OutputType::NoOutput) { + for entry in &mut result.hurl_result.entries { + for call in &mut entry.calls { + call.request.body = Vec::new(); // release memory of request body + call.response.body = Vec::new(); // release memory of response body + } + } + } + results.push(result); self.progress.update_progress_bar( &self.workers, From 4b0c51694f86f69ef6caf9b7628fc44071c6056d Mon Sep 17 00:00:00 2001 From: yujingxuan Date: Fri, 22 May 2026 14:44:41 +0800 Subject: [PATCH 2/2] fix compilation error in archlinux --- .cargo/config.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.cargo/config.toml b/.cargo/config.toml index f6cf878a037..85dd228cb68 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -8,3 +8,8 @@ rustflags = ["-Ctarget-feature=-crt-static"] # Should be only activated for Alpine but I don't know how to set it... [build] rustdocflags = ["-Ctarget-feature=-crt-static"] + +# Fix bindgen compatibility with clang 22+ (libxml crate build issue) +# Prevents __float128 parsing errors in system headers +[env] +BINDGEN_EXTRA_CLANG_ARGS = "-target x86_64-unknown-linux-gnu"