Skip to content

Releases: simdutf/simdutf

Version 2.0.5

01 Dec 17:04
Compare
Choose a tag to compare

What's Changed

  • More minor tweaking to UTF-8 to UTF-16 icelake transcoder by @lemire in #184

Full Changelog: v2.0.4...v2.0.5

Version 2.0.4

30 Nov 23:59
Compare
Choose a tag to compare

What's Changed

  • Better code generation for UTF-8 to UTF-16 routine under GCC and LLVM (icelake kernel) by @lemire in #183

New Contributors

  • @sno2 made their first contribution in #181

Full Changelog: v2.0.3...v2.0.4

Version 2.0.3

11 Nov 20:00
Compare
Choose a tag to compare

What's Changed

  • Allow skipping the build of the tools via SIMDUTF_TOOLS=OFF by @schlenk in #178
  • Guarding calls to iconv to accommodate win-iconv by @lemire in #179
  • Allows the installation of the tool sutf. by @lemire in #180

New Contributors

Full Changelog: v2.0.2...v2.0.3

Version 2.0.2

28 Oct 23:09
Compare
Choose a tag to compare

This is a second patch release for version 2.0. It fixes a potential buffer overflow in the westmere kernel with transcoding from UTF-16 to UTF-8.

Full Changelog: v2.0.1...v2.0.2

Version 2.0.1

28 Oct 19:55
Compare
Choose a tag to compare

What's Changed

  • Fixes an LLVM performance issue regarding the Icelake kernel (AVX-512) by @lemire in #177

Full Changelog: v2.0.0...v2.0.1

Version 2.0.0

27 Oct 21:54
Compare
Choose a tag to compare

What's Changed

Most text today is represented using the Unicode standard. The simdutf library seeks to provide high performance Unicode functions for C++ programmers. Version 2.0 introduces a richer API, with support for the most popular Unicode formats (UTF-32, UTF-16BE, UTF-16LE and UTF-8). Users can transcode between these formats, and validate the inputs as needed. For users that so desire, we also return a structure containing failure information, including the nature and location of the error.

For advanced x64 processors, we introduce a whole new AVX-512 kernel which includes novel algorithms by @WojciechMula and @clausecker It can be twice as fast as a previous kernels, reaching speeds close to 5 GB/s on non-trivial Unicode inputs. The library relies on runtime dispatching so that if your processor supports the new kernel, it is automatically used. The currently supported processors include Ice Lake, Rocket Lake, and Zen4.

On an Ice Lake processor, we get the following speeds with the Arabic-Lipsum.utf8.txt test file:

function UTF-8 to UTF-16 speed (GB/s)
simduft (AVX-512) 4.6 GB/s
simduft (AVX2) 2.3 GB/s
ICU 1.4 GB/s
iconv 0.7 GB/s

Major changes

Performance

Bug fixes

Testing

Building

  • 👷‍♀️ CMake: Guard Tests/Examples Behind CMake Variables by @ThePhD in #149

Benchmarking

  • Added iconv to the benchmarks, by @lemire in #164
  • We use simpler performance counters since under graviton 2 (AWS), you may only access two counters at a time by @lemire in #123

New Contributors

Full Changelog: v1.0.1...v2.0.0

Version 1.0.1

22 Mar 03:34
Compare
Choose a tag to compare

Minor fixes.

Version 1.0.0

04 Aug 15:11
5bbbdd1
Compare
Choose a tag to compare

Initial release.