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.

Read the paper · More papers on PaperTik