Skip to content

garymm/starflate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cc7380d · Feb 13, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Nov 23, 2023
May 31, 2023
Jan 31, 2025
Jan 28, 2025
Sep 17, 2023
Jan 28, 2025
Jan 18, 2024
May 24, 2023
Oct 5, 2023
Jan 31, 2025
May 18, 2023
Nov 22, 2023
May 12, 2023
Feb 13, 2025
Jan 31, 2025
Jan 28, 2025

Repository files navigation

starflate

Deflate decompression in C++23.

This started with the goal of implenting deflate decompression on a GPU, but it turns out that is basically impossible to parallelize. Compression is possible to parallelize, but I have not yet implemented it.

Blog post with some reflections on this project.

Set up

Should work on Linux x86_64 and MacOS.

  • Install bazelisk.

  • Verify that you can build and test:

bazel test //...

VS Code

Install the recommended extensions. Type @recommended in the extensions search, or see .vscode/extensions.json.

For the Bazel extension to auto-format .bazel files, you need to install buildifier. On MacOS, just brew install buildifier.

Auto-completion

Create a compilation database:

bazel build //... && bazel run @hedron_compile_commands//:refresh_all && bazel build //...

Then configure clangd. If you're using VS Code, the .vscode/settings does this for you, and .vscode/extensions.json already recommends installing the clangd extension.

Otherwise, copy the clangd args from the .vscode/settings.json.

Status

CI codecov

References