Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.

Conversation

@LGFae
Copy link
Owner

@LGFae LGFae commented Sep 30, 2025

No description provided.

@LGFae LGFae force-pushed the faster-frame-decompression branch from a7aad63 to 1ca8934 Compare October 1, 2025 14:27
LGFae added 3 commits October 2, 2025 09:29
It was absolutely terrible and its results were more misleading than
helpful.
This commits improves how we do compression in several ways:
  * in decompression, use pointers directly, without indices. This makes
    the codegen slightly better by using less registers
  * in decompression, remove all panics, and return errors instead
  * in decompression, properly verify every unsafe condition to prevent
    any undefined bevavior with malformed bitpacks. Also mark the
    decompression functions as `unsafe`, and document them
  * avx2 compression and avx512 decompression. Note these unfortunately
    do not greatly affect overall speed, because it is dominated mostly
    by lz4.
  * change the way we select the correct function to run at runtime. We
    are now using function pointers, instead of if statements. Because
    now we have 3 implementations for each function, using if statements
    would create a cascade of ifs that could potentially be pretty slow,
    specially for those using the fallback implementations.
@LGFae LGFae force-pushed the faster-frame-decompression branch from de83880 to fdf83cb Compare October 2, 2025 12:52
@LGFae LGFae force-pushed the faster-frame-decompression branch from fdf83cb to dc81589 Compare October 2, 2025 13:00
@LGFae LGFae merged commit 151a7b9 into main Oct 2, 2025
9 checks passed
@LGFae LGFae deleted the faster-frame-decompression branch October 2, 2025 13:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants