Capítulo de livro Acesso aberto Revisado por pares

Unicode at Gigabytes per Second

2021; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-030-86692-1_2

ISSN

1611-3349

Autores

Daniel Lemire,

Tópico(s)

Advanced Data Compression Techniques

Resumo

We often represent text using Unicode formats (UTF-8 and UTF-16). The UTF-8 format is increasingly popular, especially on the web (XML, HTML, JSON, Rust, Go, Swift, Ruby). The UTF-16 format is most common in Java, .NET, and inside operating systems such as Windows. Software systems frequently have to convert text from one Unicode format to the other. While recent disks have bandwidths of 5 GiB/s or more, conventional approaches transcode non-ASCII text at a fraction of a gigabyte per second. We show that we can validate and transcode Unicode text at gigabytes per second on current systems (x64 and ARM) without sacrificing safety. Our open-source library can be ten times faster than the popular ICU library on non-ASCII strings and even faster on ASCII strings.

Referência(s)