每秒千兆字节下的Unicode

摘要:将文本表示为Unicode格式(utf-8和utf-16)。utf-8格式在网络上越来越普遍(XML、HTML、JSON、Rust、Go、Swift、Ruby),而utf-16格式在Java、.NET以及Windows等操作系统中最常见。软件系统经常需要在这两种Unicode格式之间进行文本转换。尽管最近的磁盘带宽已经达到5 GiB/s或更高,但传统方法转码非ASCII文本时每秒只能达到几分之一的千兆字节。本研究表明,我们可以在当前系统(x64和ARM)上以每秒几十亿字节的速度验证和转码Unicode文本,而不会牺牲安全性。我们的开源库在非ASCII字符串上比流行的ICU库快十倍甚至更快。

作者:Daniel Lemire

论文ID:2111.08692

分类:Programming Languages

分类简称:cs.PL

提交时间:2023-05-23

PDF 下载: 英文版 中文版pdf翻译中