Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[native] Switch to using the Velox mono static library #24343

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

czentgr
Copy link
Contributor

@czentgr czentgr commented Jan 9, 2025

This change makes use of the Velox mono library for non-test related components. This removes the need to add individual velox subcomponent libraries and cuts down on the linking size because symbols are duplicated.

When adding new non-test velox dependencies use the velox library rather than the individual velox component.
For tests, the velox components are still needed to be separately used.

The sum of all the velox library components for clang on macOS with debug symbols is about 3.3GB. The velox mono library only consumes about 2.9GB resulting in a saving of about 400MB when switching over.
Similar results are to be expected on Linux and the release build (the latter saving is less because overall there would be less added code).

Description

Motivation and Context

Impact

Test Plan

Contributor checklist

  • Please make sure your submission complies with our contributing guide, in particular code style and commit standards.
  • PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced.
  • Documented new properties (with its default value), SQL syntax, functions, or other functionality.
  • If release notes are required, they follow the release notes guidelines.
  • Adequate tests were added if applicable.
  • CI passed.

Release Notes

Please follow release notes guidelines and fill in the release notes below.

== NO RELEASE NOTE ==

@prestodb-ci prestodb-ci added the from:IBM PR from IBM label Jan 9, 2025
@prestodb-ci prestodb-ci requested review from a team, ScrapCodes and imsayari404 and removed request for a team January 9, 2025 16:46
@czentgr czentgr requested a review from majetideepak January 9, 2025 16:46
@majetideepak majetideepak changed the title [native] Switch to using the Velox mono library [native] Switch to using the Velox mono static library Jan 9, 2025
@czentgr czentgr marked this pull request as ready for review January 9, 2025 18:31
@czentgr czentgr requested a review from a team as a code owner January 9, 2025 18:31
majetideepak
majetideepak previously approved these changes Jan 9, 2025
Copy link
Collaborator

@majetideepak majetideepak left a comment

Choose a reason for hiding this comment

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

Ensure CI is passing before merge.

This change makes use of the Velox mono library for non-test related
components. This removes the need to add individual velox
subcomponent libraries and cuts down on the linking size because symbols
are duplicated.

When adding new non-test velox dependencies use the velox library rather
than the individual velox component.
For tests, the velox components are still needed to be separately used.
Most customers use parquet so prestissimo should always be built with parquet support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
from:IBM PR from IBM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants