Transcoding billions of Unicode characters per second with SIMD instructions
Daniel Lemire A, Wojciech Muła · Software Practice and Experience · 2021
Abstract In software, text is often represented using Unicode formats (UTF‐8 and UTF‐16). We frequently have to convert text from one format to the other, a process called transcoding. Popular transcoding functions are slower than state‐of‐the‐art disks and networks. These transcoding functions make little use of the single‐instruction‐multiple‐data (SIMD) instructions available on commodity processors. By designing transcoding algorithms for SIMD instructions, we multiply the speed of transcoding on current systems ( 64 and ARM). To ensure reproducibility, we make our software freely available as an open source library.