XUtils

Velox

A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/)


Documentation

Developer guides detailing many aspects of the library, in addition to the list of available functions can be found here.

Blog posts are available here.

Getting Started

Get the Velox Source

git clone https://github.com/facebookincubator/velox.git
cd velox

Once Velox is checked out, the first step is to install the dependencies. Details on the dependencies and how Velox manages some of them for you can be found here.

Velox also provides the following scripts to help developers setup and install Velox dependencies for a given platform.

Setting up on macOS

On a MacOS machine (either Intel or Apple silicon) you can setup and then build like so:

$ export INSTALL_PREFIX=/Users/$USERNAME/velox/velox_dependency_install
$ ./scripts/setup-macos.sh
$ make

With macOS 14.4 and XCode 15.3 where m4 is missing, you can either

  1. install m4 via brew:
$ brew install m4
$ export PATH=/opt/homebrew/opt/m4/bin:$PATH
  1. or use gm4 instead:
$ M4=/usr/bin/gm4 make

You can also produce intel binaries on an M1, use CPU_TARGET="sse" for the above.

Building Velox with docker-compose

If you don’t want to install the system dependencies required to build Velox, you can also build and run tests for Velox on a docker container using docker-compose. Use the following commands:

$ docker-compose build ubuntu-cpp
$ docker-compose run --rm ubuntu-cpp

If you want to increase or decrease the number of threads used when building Velox you can override the NUM_THREADS environment variable by doing:

$ docker-compose run -e NUM_THREADS=<NUM_THREADS_TO_USE> --rm ubuntu-cpp

Community

Velox’s technical governance mechanics is described in this document.. Components and maintainers are listed here.

The main communication channel with the Velox OSS community is through the the Velox-OSS Slack workspace. Please reach out to velox@meta.com to get access to Velox Slack Channel.


Articles

  • coming soon...