Skip to content

fix: Pass Velox CMake build type to Folly#2015

Merged
yingsu00 merged 1 commit into
IBM:optimized_partitionedoutputfrom
yingsu00:FollyInstall
May 12, 2026
Merged

fix: Pass Velox CMake build type to Folly#2015
yingsu00 merged 1 commit into
IBM:optimized_partitionedoutputfrom
yingsu00:FollyInstall

Conversation

@yingsu00
Copy link
Copy Markdown
Collaborator

@yingsu00 yingsu00 commented May 9, 2026

Currently Velox never passes CMAKE_BUILD_TYPE into Folly's own configure step, while cmake_install only forwards arbitrary caller flags, so Folly was not built in release mode when Velox is built in release mode. This commit adds -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" to FOLLY_FLAGS, so a release Velox dependency setup now builds release Folly on macOS and Linux.

The TPCH 1TB shows

  • 8% wall time improvement for the whole run (1 cold 1 warm)
  • 12.7% wall time improvement for warm run
  • PartitionedOutput shows 19% improvement in CPU time

The improvements is presumably from the Folly hash function speed up in release build.

Detailed comparisons can be found here

Whole run 1cold 1 warm elapsed
713,081 vs. 659,360.  8% improvement

Warm only
285,687 vs. 253,468. 12.7% improvement

PartitionedOutput  CPU
6,978,244 vs. 5,852,930  19% improvement

Currently Velox never passes CMAKE_BUILD_TYPE into Folly's own configure
step, while cmake_install only forwards arbitrary caller flags, so Folly
was not built in release mode when Velox is built in release mode. This
commit adds -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" to FOLLY_FLAGS, so
a release Velox dependency setup now builds release Folly on macOS and
Linux.
@yingsu00 yingsu00 requested a review from xin-zhang2 May 9, 2026 22:01
@yingsu00 yingsu00 self-assigned this May 9, 2026
@yingsu00 yingsu00 requested a review from majetideepak as a code owner May 9, 2026 22:01
@yingsu00 yingsu00 requested review from czentgr and removed request for majetideepak May 9, 2026 22:02
Copy link
Copy Markdown
Member

@xin-zhang2 xin-zhang2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yingsu00 Thanks! Should this change also be delivered into the upstream velox?

@yingsu00
Copy link
Copy Markdown
Collaborator Author

@yingsu00 Thanks! Should this change also be delivered into the upstream velox?

Not really. We want to use upstream Velox as a baseline so I won't send PRs to FB upstream.

@yingsu00 yingsu00 merged commit bf93e39 into IBM:optimized_partitionedoutput May 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants