waynexia commented on issue #14256:
URL: https://github.com/apache/datafusion/issues/14256#issuecomment-2613967071
Looking forward to the ongoing refactors!
>Also, can you make sure there is no bias in the measurement? If you build
in reverse order and run cargo clean between each steps, will you get the same
results? (i believe we regressed on the build time, but let's double check
facts before jumping to conclusions)
Here is the script, I removed the target after every build:
<details>
<summary>script</summary>
```shell
#!/bin/bash
# Configuration
OUTPUT_FILE="build-times.csv"
START_DATE=$(date -d "8 months ago" +%Y-%m-%d)
END_DATE=$(date +%Y-%m-%d)
# Initialize CSV output
echo "date,commit_hash,build_time_seconds,success" > "$OUTPUT_FILE"
# Iterate day-by-day
current_date="$START_DATE"
while [[ "$current_date" < "$END_DATE" ]]; do
# Find latest commit for the day
git checkout main
commit_hash=$(git log --until="$current_date 23:59" --first-parent -1
--format=%H)
if [[ -n "$commit_hash" ]]; then
echo "Processing $current_date ($commit_hash)..."
# Checkout commit (detached HEAD)
git checkout --force "$commit_hash" > /dev/null 2>&1
# Clean and build
rm -rf target/release
cargo metadata --quiet > /dev/null
start_time=$(date +%s)
cargo build --release --timings --lib --quiet
build_exit_code=$?
end_time=$(date +%s)
build_time=$((end_time - start_time))
# Record results
echo "$current_date,$commit_hash,$build_time,$build_exit_code" >>
"$OUTPUT_FILE"
else
echo "No commit found for $current_date"
fi
# Move to next day
current_date=$(date -d "$current_date + 1 day" +%Y-%m-%d)
done
# Return to original branch
git checkout main
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]