16 papers
11 files
20 references

Papers Referenced in This Repository

Faster Base64 Encoding and Decoding Using AVX2 Instructions

Wojciech Mula, D. Lemire
2017
2 references

Web developers use base64 formats to include images, fonts, sounds, and other resources directly inside HTML, JavaScript, JSON, and XML files. We estimate that billions of base64 messages are decoded every day. We are motivated to improve the efficiency of base64 encoding and decoding. Compared to s...

Show 2 references in code

Base64 encoding and decoding at almost the speed of a memory copy

Wojciech Muła, Daniel Lemire
2019
2 references

Many common document formats on the Internet are text-only such as email (MIME) and the Web (HTML, JavaScript, JSON and XML). To include images or executable code in these documents, we first encode them as text using base64. Standard base64 encoding uses 64~ASCII characters: both lower and upper ca...

Show 2 references in code

A modified ziggurat algorithm for generating exponentially- and normally-distributed pseudorandom numbers

Christopher D McFarland
2014
2 references

The Ziggurat Algorithm is a very fast rejection sampling method for generating PseudoRandom Numbers (PRNs) from common statistical distributions. The algorithm divides a distribution into rectangular layers that stack on top of each other (resembling a Ziggurat), subsuming the desired distribution. ...

Show 2 references in code

An Efficient Method for Generating Discrete Random Variables with General Distributions

A.J. Walker
1977
2 references

article Free Access Share on An Efficient Method for Generating Discrete Random Variables with General Distributions Author: Alastair J. Walker Department of Electrical Engineering, University of Witwatersrand, 1 Jan Smuts Ave., Johnnesburg 2001, South Africa Department of Electrical Engineering, Un...

Show 2 references in code

ScissorGC: scalable and efficient compaction for Java full garbage collection

Haoyu Li, Mingyu Wu, B. Zang, Haibo Chen
2019
1 reference

Java runtime frees applications from manual memory management through automatic garbage collection (GC). This, however, is usually at the cost of stop-the-world pauses. State-of-the-art collectors leverage multiple generations, which will inevitably suffer from a full GC phase scanning and compactin...

Show 1 reference in code

Understanding and improving JVM GC work stealing at the data center scale

W. Hassanein
2016
1 reference

Garbage collection (GC) is a critical part of performance in managed run-time systems such as the OpenJDK Java Virtual Machine (JVM). With a large number of latency sensitive applications written in Java the performance of the JVM is essential. Java application servers run in data centers on a large...

Show 1 reference in code

Fast and Robust Vectorized In-Place Sorting of Primitive Types.

Mark Blacher, Joachim Giesen, Lars Kühne
2021
1 reference

Modern CPUs provide single instruction-multiple data (SIMD) instructions. SIMD instructions process several elements of a primitive data type simultaneously in fixed-size vectors. Classical sorting algorithms are not directly expressible in SIMD instructions. Accelerating sorting algorithms with SIM...

Show 1 reference in code

A Novel Hybrid Quicksort Algorithm Vectorized using AVX-512 on Intel Skylake

Berenger Bramas
2017
1 reference

The modern CPU's design, which is composed of hierarchical memory and SIMD/vectorization capability, governs the potential for algorithms to be transformed into efficient implementations. The release of the AVX-512 changed things radically, and motivated us to search for an efficient sorting algorit...

Show 1 reference in code

Computationally easy, spectrally good multipliers for congruential pseudorandom number generators

G. Steele, S. Vigna
2020
1 reference

Congruential pseudorandom number generators rely on good multipliers, that is, integers that have good performance with respect to the spectral test. We provide lists of multipliers with a good lattice structure up to dimension eight and up to lag eight for generators with typical power‐of‐two modul...

Show 1 reference in code

LXM: better splittable pseudorandom number generators (and almost as fast)

2021
1 reference

In 2014, Steele, Lea, and Flood presented SplitMix, an object-oriented pseudorandom number generator (prng) that is quite fast (9 64-bit arithmetic/logical operations per 64 bits generated) and also splittable . A conventional prng object provides a generate method that returns one pseudorandom valu...

Show 1 reference in code

The Monty Python method for generating random variables

George Marsaglia, Wai Wan Tsang
1998
1 reference

We suggest an interesting and fast method for generating normal, exponential, t, von Mises, and certain other important random variables used in Monte Carlo studies. The right half of a symmetric density is cut into pieces, then, using simple area-preserving transformations, reassembled into a recta...

Show 1 reference in code

Gaussian random number generators

David B. Thomas, W. Luk, P. Leong, J. Villasenor
2007
1 reference

Rapid generation of high quality Gaussian random numbers is a key capability for simulations across a wide range of disciplines. Advances in computing have brought the power to conduct simulations with very large numbers of random numbers and with it, the challenge of meeting increasingly stringent ...

Show 1 reference in code

User-level Threading

M. Karsten, Saman Barghi
2020
1 reference

An important class of computer software, such as network servers, exhibits concurrency through many loosely coupled and potentially long-running communication sessions. For these applications, a long-standing open question is whether thread-per-session programming can deliver comparable performance ...

Show 1 reference in code

An Extension of the String-to-String Correction Problem

Robert A. Wagner, Roy Lowrance
1975
1 reference

article Free Access Share on An Extension of the String-to-String Correction Problem Authors: Robert A. Wagner Department of Systems and Information Sciences, Vanderbilt University, Nashville, TN Department of Systems and Information Sciences, Vanderbilt University, Nashville, TNView Profile , Roy L...

Show 1 reference in code

When is double rounding innocuous?

Samuel Figueroa
1995
1 reference

Double rounding is the phenomenon that occurs when the result of an operation is rounded to fit some intermediate destination, and then again when delivered to its final destination. This can be a common occurrence when using some floating-point arithmetic engines which lack single precision registe...

Show 1 reference in code

SLEEF: A Portable Vectorized Library of C Standard Mathematical Functions

2019
1 reference

In this paper, we present techniques used to implement our portable\nvectorized library of C standard mathematical functions written entirely in C\nlanguage. In order to make the library portable while maintaining good\nperformance, intrinsic functions of vector extensions are abstracted by inline\n...

Show 1 reference in code
Link copied to clipboard!