DeepAI AI Chat
Log In Sign Up

A Probabilistic Model Revealing Shortcomings in Lua's Hybrid Tables

by   Conrado Martínez, et al.

Lua (Ierusalimschy et al., 1996) is a well-known scripting language, popular among many programmers, most notably in the gaming industry. Remarkably, the only data-structuring mechanism in Lua, is an associative array called a table. With Lua 5.0, the reference implementation of Lua introduced hybrid tables to implement tables using both a hash table and a dynamically growing array combined together: the values associated with integer keys are stored in the array part, when suitable. All this is transparent to the user, which has a unique simple interface to handle tables. In this paper we carry out a theoretical analysis of the performance of Lua's tables, by considering various worst-case and probabilistic scenarios. In particular, we uncover some problematic situations for the simple probabilistic model where we add a new key with some fixed probability p>1/2 and delete a key with probability 1-p: the cost of performing T such operations is proved to be Ω(Tlog T) with high probability, instead of linear in T.


page 1

page 2

page 3

page 4


Cuckoo++ Hash Tables: High-Performance Hash Tables for Networking Applications

Hash tables are an essential data-structure for numerous networking appl...

Irregular Invertible Bloom Look-Up Tables

We consider invertible Bloom lookup tables (IBLTs) which are probabilist...

The use of Charts, Pivot Tables, and Array Formulas in two Popular Spreadsheet Corpora

The use of spreadsheets in industry is widespread. Companies base decisi...

A Hash Table Without Hash Functions, and How to Get the Most Out of Your Random Bits

This paper considers the basic question of how strong of a probabilistic...

On the Optimal Time/Space Tradeoff for Hash Tables

For nearly six decades, the central open question in the study of hash t...

LUTNet: speeding up deep neural network inferencing via look-up tables

We consider the use of look-up tables (LUT) to speed up and simplify the...