| Port details |
- base64 Fast Base64 stream encoder/decoder in C99, with SIMD acceleration
- 0.5.2 devel
=0 Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one. - Maintainer: sunpoet@FreeBSD.org
 - Port Added: 2025-12-09 11:24:08
- Last Update: 2025-12-09 11:20:47
- Commit Hash: b3058e3
- License: BSD2CLAUSE
- WWW:
- https://github.com/aklomp/base64
- Description:
- This is an implementation of a base64 stream encoding/decoding library in C99
with SIMD (AVX2, AVX512, NEON, AArch64/NEON, SSSE3, SSE4.1, SSE4.2, AVX) and
OpenMP acceleration. It also contains wrapper functions to encode/decode simple
length-delimited strings. This library aims to be:
- FAST;
- easy to use;
- elegant.
On x86, the library does runtime feature detection. The first time it's called,
the library will determine the appropriate encoding/decoding routines for the
machine. It then remembers them for the lifetime of the program. If your
processor supports AVX2, SSSE3, SSE4.1, SSE4.2 or AVX instructions, the library
will pick an optimized codec that lets it encode/decode 12 or 24 bytes at a
time, which gives a speedup of four or more times compared to the "plain"
bytewise codec.
AVX512 support is only for encoding at present, utilizing the AVX512 VL and VBMI
instructions. Decoding part reused AVX2 implementations. For CPUs later than
Cannonlake (manufactured in 2018) supports these instructions.
NEON support is hardcoded to on or off at compile time, because portable runtime
feature detection is unavailable on ARM.
Even if your processor does not support SIMD instructions, this is a very fast
library. The fallback routine can process 32 or 64 bits of input in one round,
depending on your processor's word width, which still makes it significantly
faster than naive bytewise implementations. On some 64-bit machines, the 64-bit
routines even outperform the SSSE3 ones.
¦ ¦ ¦ ¦ 
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - USE_RC_SUBR (Service Scripts)
- no SUBR information found for this port
- Dependency lines:
-
- To install the port:
- cd /usr/ports/devel/base64/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/base64
- pkg install base64
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: base64
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1765032618
SHA256 (aklomp-base64-v0.5.2_GH0.tar.gz) = 723a0f9f4cf44cf79e97bcc315ec8f85e52eb104c8882942c3f2fba95acc080d
SIZE (aklomp-base64-v0.5.2_GH0.tar.gz) = 104531
No package information for this port in our database- Sometimes this happens. Not all ports have packages. This is doubly so for new ports, like this one.
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- cmake : devel/cmake-core
- ninja : devel/ninja
- This port is required by:
- for Libraries
-
- devel/py-librt
Configuration Options:
- No options to configure
- Options name:
- devel_base64
- USES:
- cmake:testing
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Number of commits found: 1
| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
0.5.2 09 Dec 2025 11:20:47
    |
Po-Chuan Hsieh (sunpoet)  |
devel/base64: Add base64 0.5.2
This is an implementation of a base64 stream encoding/decoding library in C99
with SIMD (AVX2, AVX512, NEON, AArch64/NEON, SSSE3, SSE4.1, SSE4.2, AVX) and
OpenMP acceleration. It also contains wrapper functions to encode/decode simple
length-delimited strings. This library aims to be:
- FAST;
- easy to use;
- elegant.
On x86, the library does runtime feature detection. The first time it's called,
the library will determine the appropriate encoding/decoding routines for the
machine. It then remembers them for the lifetime of the program. If your
processor supports AVX2, SSSE3, SSE4.1, SSE4.2 or AVX instructions, the library
will pick an optimized codec that lets it encode/decode 12 or 24 bytes at a (Only the first 15 lines of the commit message are shown above ) |
Number of commits found: 1
|