10 papers
11 files
14 references

Papers Referenced in This Repository

Number Parsing at a Gigabyte per Second

Daniel Lemire
2021
10 references

With disks and networks providing gigabytes per second, parsing decimal numbers from strings becomes a bottleneck. We consider the problem of parsing decimal numbers to the nearest binary floating-point value. The general problem requires variable-precision arithmetic. However, we need at most 17 di...

Show 2 references in code

Optimally profiling and tracing programs

Thomas Ball, James R. Larus
1992
1 reference

This paper presents algorithms for inserting monitoring code to profile and trace programs. These algorithms greatly reduce the cost of measuring programs. Profiling counts the number of times each basic block in a program executes and has a variety of applications. Instruction traces are the basis ...

Show 1 reference in code

Scalable statistics counters

D. Dice, Yossi Lev, Mark Moir
2013
1 reference

Statistics counters are important for purposes such as detecting excessively high rates of various system events, or for mechanisms that adapt based on event frequency. As systems grow and become increasingly NUMA, commonly used naive counters impose scalability bottlenecks and/or such inaccuracy th...

Show 1 reference in code

Euclidean Affine Functions and Applications to Calendar Algorithms

Cassio Neri, Lorenz Schneider
2021
5 references

We study properties of Euclidean affine functions (EAFs), namely those of the form $f(r) = (α\cdot r + β)/δ$, and their closely related expression $\mathring{f}(r) = (α\cdot r + β)\%δ$, where $r$, $α$, $β$ and $δ$ are integers, and where $/$ and $\%$ respectively denote the quotient and remainder of...

Show 1 reference in code

Printing floating-point numbers quickly and accurately

Robert G. Burger, R. Kent Dybvig
1996
1 reference

This paper presents a fast and accurate algorithm for printing floating-point numbers in both free- and fixed-format modes. In free-format mode, the algorithm generates the shortest, correctly rounded output string that converts to the same number when read back in, accommodating whatever rounding m...

Show 1 reference in code

Fast Random Integer Generation in an Interval

Daniel Lemire
2018
4 references

In simulations, probabilistic algorithms and statistical tests, we often generate random integers in an interval (e.g., [0,s)). For example, random integers in an interval are essential to the Fisher-Yates random shuffle. Consequently, popular languages like Java, Python, C++, Swift and Go include r...

Show 1 reference in code

Topological sorting of large networks

Arthur B. Kahn
1962
1 reference

Topological Sorting is a procedure required for many problems involving analysis of networks. An example of one such problem is PERT. The present paper presents a very general method for obtaining topological order. It permits treatment of larger networks than can be handled on present procedures an...

Show 1 reference in code

Implementing the complex arcsine and arccosine functions using exception handling

T. E. Hull, Thomas F. Fairgrieve, P. T. P. Tang
1997
1 reference

We develop efficient algorithms for reliable and accurate evaluatins of the complex arcsine and arccosine functions. A tight error bound is derived for each algorithm; the results are valid for all machine-representable points in the complex plane. The algorithms are presented in a pseudocode that h...

Show 1 reference in code

Dynamic storage allocation: A survey and critical review

Paul R. Wilson, Mark S. Johnstone, Michael J. Neely, David B. Boles
1995
3 references
Show 1 reference in code
Link copied to clipboard!