BSD Ports

converters/simdutf 9.3.2 FreeBSD

Unicode validation and transcoding with SIMD

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
d16f3289b1
License
APACHE20, MIT
Categories
converters, textproc
Package size
164.4 KiB, 1133.1 KiB installed

Description

This library provide fast Unicode functions such as

  • ASCII, UTF-8, UTF-16LE/BE and UTF-32 validation, with and without error identification,
  • transcoding between each of Latin1, UTF-8, UTF-16LE/BE, and UTF-32, with and without validation, with and without error identification
  • From an UTF-8 string, compute the size of the Latin1/UTF-16/UTF-32 equivalent string,
  • From an UTF-16LE/BE string, compute the size of the Latin1/UTF-8/UTF-32 equivalent string,
  • From an UTF-32 string, compute the size of the UTF-8 or UTF-16LE equivalent string,
  • UTF-8 and UTF-16LE/BE character counting.
  • UTF-16 endianness change (UTF16-LE/BE to UTF-16-BE/LE)
  • Base64 encoding and decoding

The functions are accelerated using SIMD instructions (e.g., ARM NEON, SSE, AVX, AVX-512, etc.). When your strings contain hundreds of characters, we can often transcode them at speeds exceeding a billion characters per second. You should expect high speeds not only with English strings (ASCII) but also Chinese, Japanese, Arabic, and so forth. We handle the full character range (including, for example, emojis).

The library compiles down to a small library of a few hundred kilobytes. Our functions are exception-free and non allocating. We have extensive tests and extensive benchmarks.

In the other systems

SystemPortVersion
FreeBSDconverters/simdutf9.3.2
OpenBSDtextproc/simdutf9.2.1

Install

Binary package:

pkg install simdutf

From the ports tree:

cd /usr/ports/converters/simdutf/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	simdutf>0:converters/simdutf
LIB_DEPENDS=	libsimdutf.so:converters/simdutf

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest9.2.19.2.1-7.3.69.3.2
FreeBSD:14:quarterly9.2.19.2.1n/a7.3.69.2.1
FreeBSD:15:latest9.2.19.3.2n/a7.3.67.4.0
FreeBSD:15:quarterly9.2.19.2.1n/an/an/a
FreeBSD:16:latest9.2.19.3.2n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

Build dependencies 15

Configuration

Options name: converters_simdutf

OptionDefaultDescription
ICONVonEncoding conversion support via iconv
TOOLSonBuild tools
USES
cmake:testing compiler:c++17-lang python:build,test
Service scripts
none

Files

Manual pages 3
  • fastbase64(1)
  • fastbase64.coreutils(1)
  • sutf(1)
pkg-plist 58
  • bin/fastbase64
  • bin/fastbase64.coreutils
  • bin/sutf
  • include/simdutf.h
  • include/simdutf/avx512.h
  • include/simdutf/base64_implementation.h
  • include/simdutf/base64_tables.h
  • include/simdutf/common_defs.h
  • include/simdutf/compiler_check.h
  • include/simdutf/constexpr_ptr.h
  • include/simdutf/encoding_types.h
  • include/simdutf/error.h
  • include/simdutf/implementation.h
  • include/simdutf/internal/isadetection.h
  • include/simdutf/portability.h
  • include/simdutf/scalar/ascii.h
  • include/simdutf/scalar/atomic_util.h
  • include/simdutf/scalar/base64.h
  • include/simdutf/scalar/latin1.h
  • include/simdutf/scalar/latin1_to_utf16/latin1_to_utf16.h
  • include/simdutf/scalar/latin1_to_utf32/latin1_to_utf32.h
  • include/simdutf/scalar/latin1_to_utf8/latin1_to_utf8.h
  • include/simdutf/scalar/swap_bytes.h
  • include/simdutf/scalar/utf16.h
  • include/simdutf/scalar/utf16_to_latin1/utf16_to_latin1.h
  • include/simdutf/scalar/utf16_to_latin1/valid_utf16_to_latin1.h
  • include/simdutf/scalar/utf16_to_utf32/utf16_to_utf32.h
  • include/simdutf/scalar/utf16_to_utf32/valid_utf16_to_utf32.h
  • include/simdutf/scalar/utf16_to_utf8/utf16_to_utf8.h
  • include/simdutf/scalar/utf16_to_utf8/valid_utf16_to_utf8.h
  • include/simdutf/scalar/utf32.h
  • include/simdutf/scalar/utf32_to_latin1/utf32_to_latin1.h
  • include/simdutf/scalar/utf32_to_latin1/valid_utf32_to_latin1.h
  • include/simdutf/scalar/utf32_to_utf16/utf32_to_utf16.h
  • include/simdutf/scalar/utf32_to_utf16/valid_utf32_to_utf16.h
  • include/simdutf/scalar/utf32_to_utf8/utf32_to_utf8.h
  • include/simdutf/scalar/utf32_to_utf8/valid_utf32_to_utf8.h
  • include/simdutf/scalar/utf8.h
  • include/simdutf/scalar/utf8_to_latin1/utf8_to_latin1.h
  • include/simdutf/scalar/utf8_to_latin1/valid_utf8_to_latin1.h
  • include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16.h
  • include/simdutf/scalar/utf8_to_utf16/valid_utf8_to_utf16.h
  • include/simdutf/scalar/utf8_to_utf32/utf8_to_utf32.h
  • include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16_with_replacement.h
  • include/simdutf/scalar/utf8_to_utf32/valid_utf8_to_utf32.h
  • include/simdutf/simdutf_version.h
  • include/simdutf_c.h
  • lib/cmake/simdutf/simdutf-config-version.cmake
  • lib/cmake/simdutf/simdutf-config.cmake
  • lib/cmake/simdutf/simdutfTargets-.cmake
  • lib/cmake/simdutf/simdutfTargets.cmake
  • lib/libsimdutf.so
  • lib/libsimdutf.so.37
  • lib/libsimdutf.so.37.0.0
  • libdata/pkgconfig/simdutf.pc
  • share/man/man1/fastbase64.1.gz
  • share/man/man1/fastbase64.coreutils.1.gz
  • share/man/man1/sutf.1.gz
distinfo 1
FileSizeSHA256
simdutf-simdutf-v9.3.2_GH0.tar.gz3.524445e+06d92a0a4ce216dcebf18af20fed7ea7279fa535683f790fdaeed39827a234f567

Commit history 7

DateCommitCreditsLog message
d16f3289b1 Robert Clausecker converters/simdutf: update to 9.3.2
Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.3.0 Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.3.1 Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.3.2 MFH: no (soname change)
683ef9e4fb Robert Clausecker converters/simdutf: update to 9.2.1
Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.2.1
efe653ae80 Robert Clausecker converters/simdutf: update to 9.2.0
Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.2.0
a29c72f1f1 Robert Clausecker converters/simdutf: remove stray patch
This was left over after a wrong rebase (mid-air collission). Fixes: 81f18785a4d12bf1d01751f5e54643cf9afe9443 Reported by: Einar Bjarni Halldórsson <[email protected]> PR: 298403 Event: EuroBSDcon Devsummit 2026
81f18785a4 Robert Clausecker converters/simdutf: update to 9.1.2
Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.1.1 Changelog: https://github.com/simdutf/simdutf/releases/tag/v9.1.2 Event: EuroBSDcon Devsummit 2026

The latest 5 of 7 in the history this site was built from.