{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/vectorized-vbyte-decoding","title":"Vectorized VByte Decoding","arxiv_id":"1503.07387","date":"2015-02-20","proceeding":null,"authors":["Jeff Plaisance","Nathan Kurz","Daniel Lemire"],"abstract":"We consider the ubiquitous technique of VByte compression, which represents\neach integer as a variable length sequence of bytes. The low 7 bits of each\nbyte encode a portion of the integer, and the high bit of each byte is reserved\nas a continuation flag. This flag is set to 1 for all bytes except the last,\nand the decoding of each integer is complete when a byte with a high bit of 0\nis encountered. VByte decoding can be a performance bottleneck especially when\nthe unpredictable lengths of the encoded integers cause frequent branch\nmispredictions. Previous attempts to accelerate VByte decoding using SIMD\nvector instructions have been disappointing, prodding search engines such as\nGoogle to use more complicated but faster-to-decode formats for\nperformance-critical code. Our decoder (Masked VByte) is 2 to 4 times faster\nthan a conventional scalar VByte decoder, making the format once again\ncompetitive with regard to speed.","url_abs":"http://arxiv.org/abs/1503.07387v4","url_pdf":"http://arxiv.org/pdf/1503.07387v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"vectorized-vbyte-decoding","repo_url":"https://github.com/lemire/MaskedVByte","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"vectorized-vbyte-decoding","repo_url":"https://github.com/as-com/varint-simd","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}