Skip to main content

FastLanes File Format

Project description

FastLanes Logo

FastLanes: A Next-Generation Columnar File Format

FastLanes is like Parquet with 40% better compression and 40× faster decoding, making it the ideal choice for high-throughput analytics workloads.


Getting Started

Python

import pyfastlanes

# Connect to FastLanes
conn = pyfastlanes.connect()

# Convert a CSV directory to FastLanes format
conn.inline_footer().read_csv("path/to/csv_dir").to_fls("data.fls")

# Read back and write to CSV
reader = conn.read_fls("data.fls")
reader.to_csv("decoded.csv")

C++

Add FastLanes as a dependency via CMake:

include(FetchContent)

FetchContent_Declare(
        googletest
        GIT_REPOSITORY https://github.com/google/googletest.git
        GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929  # release-1.11.0
)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

Example usage:

#include "fastlanes.hpp"

int main() {
    fastlanes::Connection conn;
    conn.read_csv("data/csv_dir").to_fls("data.fls");

    auto reader = fastlanes::Connection().read_fls("data.fls");
    reader->to_csv("decoded.csv");
    return EXIT_SUCCESS;
}

Coming Soon

  • CUDA support for FastLanes CUDA reader
  • Rust bindings for seamless integration in Rust projects

Publications

  • Azim Afroozeh & Peter Boncz, “The FastLanes Compression Layout: Decoding > 100 Billion Integers per Second with Scalar Code,” PVLDB, 16(9): 2132–2144, May 2023

  • Azim Afroozeh, Lotte Felius & Peter Boncz, “Accelerating GPU Data Processing Using FastLanes Compression,” DaMoN ’24, Proceedings of the 20th International Workshop on Data Management on New Hardware, Santiago, Chile, June 2024


How to Cite

If you use FastLanes in your research or projects, please cite:

@article{afroozeh2023fastlanes,
    author = {Afroozeh, Azim and Boncz, Peter},
    title = {The FastLanes Compression Layout: Decoding > 100 Billion Integers per Second with Scalar Code},
    journal = {Proceedings of the VLDB Endowment},
    volume = {16},
    number = {9},
    pages = {2132--2144},
    month = may,
    year = {2023},
    publisher = {VLDB Endowment}
}

@inproceedings{afroozeh2024accelerating,
    author = {Afroozeh, Azim and Felius, Lotte and Boncz, Peter},
    title = {Accelerating GPU Data Processing Using FastLanes Compression},
    booktitle = {DaMoN ’24: Proceedings of the 20th International Workshop on Data Management on New Hardware},
    pages = {1--11},
    month = jun,
    year = {2024},
    organization = {ACM},
    doi = {10.1145/3662010.3663450}
}

License

This project is released under the MIT License.


Join Our Community

Come discuss FastLanes, share feedback, and help shape the future of data formats on Discord: Join Our Discord

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfastlanes-0.1.3.post7.tar.gz (21.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfastlanes-0.1.3.post7-cp313-cp313-macosx_15_0_arm64.whl (31.2 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

File details

Details for the file pyfastlanes-0.1.3.post7.tar.gz.

File metadata

  • Download URL: pyfastlanes-0.1.3.post7.tar.gz
  • Upload date:
  • Size: 21.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pyfastlanes-0.1.3.post7.tar.gz
Algorithm Hash digest
SHA256 a2cade79960fda2f4638307a1cbbe5b1411f61b10ef88bfb7e571dbf59791ce5
MD5 49f206abc10d67024a8d10cd8af6c0ab
BLAKE2b-256 d39e4ad4f8d8946b449c52f66e2aa9e42eedcc0ef1953f5fee70b5fa20438735

See more details on using hashes here.

File details

Details for the file pyfastlanes-0.1.3.post7-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastlanes-0.1.3.post7-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0f34f35af366ad6686d264633f69337220782aea9aeb3a546be4b3f0edb0c296
MD5 fc09bdadee29be639141bc66e659f622
BLAKE2b-256 0066c014f6ce9c60db61b334c9b85e051a6bfc108c00dcde6180132167a553a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page