Improving Quicksort Performance with a Codewort Data Structure

  title={Improving Quicksort Performance with a Codewort Data Structure},
  author={Jean-Loup Baer and Yi-Bing Lin},
  journal={IEEE Trans. Software Eng.},
The problem is discussed of how the use of a new data structure, the codeword structure, can help improve the performance of quicksort when the records to be sorted are long and the keys are alphanumeric sequences of bytes. The codeword is a compact representation of a key with respect to some codeword generator. It consists of a byte for a character count of equal bytes, a byte for the first nonequal byte, and a pointer to the record. It is shown how the ordering of keys is preserved by an… 

Alphasort: A cache-sensitive parallel external sort

A new sort algorithm, called AlphaSort, demonstrates that commodity processors and disks can handle commercial batch workloads and argues that modern architectures require algorithm designers to re-examine their use of the memory hierarchy.

Communication conscious radix sort

A reorganization of Radix sort is proposed that leads to a highly local version of the algorithm at a very low cost and achieves a good load balance which makes it insensitive to skewed data distributions.

AlphaSort: a RISC machine sort

A new sort algorithm, called AlphaSort, demonstrates that commodity processors and disks can handle commercial batch workloads and proposes two new benchmarks: Minutesort: how much can you sort in a minute, and DollarSort: how to sort for a dollar.

Suffix arrays: a new method for on-line string searches

A new and conceptually simple data structure, called a suffixarray, for on-line string searches is introduced in this paper, and it is believed that suffixarrays will prove to be better in practice than suffixtrees for many applications.

On demand string sorting over unbounded alphabets

Offset-value coding in database query processing

A new theorem is introduced and, based on its proof and a simple corollary, how order-preserving algorithms can compute offset-value codes for their outputs is described in detail.

2 Internal sort : avoiding and speeding comparisons

    Computer Science
The main purpose is not to introduce new algorithmic techniques or to evaluate experimentally the effectiveness of any one individual technique; instead, it gathers and organizes such techniques in order to enable, stimulate, and focus future research and development.

Dictionary-based order-preserving string compression

It is demonstrated that the fast dictionary-based methods can be applied to order-preserving compression almost with the same freedom as in the general case.

Performance / Price Sort and PennySort

This paper documents this and proposes that the PennySort benchmark be revised to Performance/Price sort: a simple GB/$ sort metric based on a two-pass external sort.

A Fast Radix Sort

In this paper one efficient implementation of a radix sort is presented, and the performance of this algorithm compared with that of Quicksort is compared.

The memory architecture and the cache and memory management unit for the fairchild clipper processor

The Fairchild CLIPPER implements anew instruction set architecture which has been designed for high performance, convenient programmability, broad functionality and sufficient architectural "openness" to permit future evolution and a variety of implementations.

Cache Memories

design issues. Specific aspects of cache memories tha t are investigated include: the cache fetch algorithm (demand versus prefetch), the placement and replacement algorithms, line size,

The 801 minicomputer

An overview of an experimental system developed at the IBM T. J. Watson Research Center that consists of a running hardware prototype, a control program and an optimizing compiler, which features a primitive instruction set which can be completely hard-wired.

Reduced instruction set computers

Optimize compilers are used to compile programming languages down to instructions that are as unencumbered as microinstructions in a large virtual address space, and to make the instruction cycle time as fast as possible.

Computer systems architecture

Applying principles and techniques of mathematics and signal processing on sub-salt images in order to determine locations of petroleum and mineral deposits.