Experimental Study of Compressed Stack Algorithms in Limited Memory Environments

06/15/2017
by   Jean-Francois Baffier, et al.
0

The compressed stack is a data structure designed by Barba et al. (Algorithmica 2015) that allows to reduce the amount of memory needed by an algorithm (at the cost of increasing its runtime). In this paper we introduce the first implementation of this data structure and make its source code publicly available. Together with the implementation we analyze the performance of the compressed stack. In our synthetic experiments, considering different test scenarios and using data sizes ranging up to 2^30 elements, we compare it with the classic (uncompressed) stack, both in terms of runtime and memory used. Our experiments show that the compressed stack needs significantly less memory than the usual stack (this difference is significant for inputs containing 2000 or more elements). Overall, with a proper choice of parameters, we can save a significant amount of space (from two to four orders of magnitude) with a small increase in the runtime (2.32 times slower on average than the classic stack). These results holds even in test scenarios specifically designed to be challenging for the compressed stack.

READ FULL TEXT

page 9

page 11

research
07/26/2020

IdSan: An identity-based memory sanitizer for fuzzing binaries

Most memory sanitizers work by instrumenting the program at compile time...
research
05/10/2021

VDB-EDT: An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Structure

This paper presents a fundamental algorithm, called VDB-EDT, for Euclide...
research
10/09/2020

Learning Context-Free Languages with Nondeterministic Stack RNNs

We present a differentiable stack data structure that simultaneously and...
research
11/20/2022

The Stack: 3 TB of permissively licensed source code

Large Language Models (LLMs) play an ever-increasing role in the field o...
research
09/10/2018

Towards Practical Software Stack Decoding of Polar Codes

The successive cancellation list decoding algorithm for polar codes yiel...
research
10/28/2021

Fuzzm: Finding Memory Bugs through Binary-Only Instrumentation and Fuzzing of WebAssembly

WebAssembly binaries are often compiled from memory-unsafe languages, su...
research
07/18/2019

Stack sorting with restricted stacks

The (classical) problem of characterizing and enumerating permutations t...

Please sign up or login with your details

Forgot password? Click here to reset