Threaded code

related topics
{math, number, function}
{system, computer, user}
{area, part, region}

In computer science, the term threaded code refers to a compiler implementation technique where the generated code has a form that essentially consists entirely of calls to subroutines. The code may be processed by an interpreter, or may simply be a sequence of machine code call instructions.

One of the main advantages of threaded code is that it is very compact, compared to code generated by alternative code generation techniques and alternative calling conventions. This advantage usually comes at the expense of slightly slower execution speed (usually only one machine instruction). However, sometimes there is a synergistic effect: sometimes more compact code is smaller and significantly faster than non-threaded code.[1] A program small enough to fit fully in a computer processor's cache may run faster than a larger program that suffers many cache misses.

Threaded code is most well known as the implementation technique commonly used in some programming languages, such as Forth, many implementations of BASIC, some implementations of COBOL, early versions of B, and other languages for small minicomputers and satellites.

Contents

Preparatory history

The common way to make computer programs is to 'translate' a computer program written in some symbolic language to machine code using a compiler. The code is typically fast but nonportable since the binary code is designed for a specific hardware platform. A different approach uses a virtual machine instruction set - that has no particular target hardware. An interpreter executes it on each new target hardware.

Full article ▸

related documents
AppleScript
Jackson Structured Programming
Object-relational mapping
Stream cipher
TeX
Bzip2
Object database
Berkeley sockets
PHP
Filename extension
Common Object Request Broker Architecture
Header file
Convolutional code
Data Encryption Standard
List of computing topics
GNU Compiler Collection
Maildir
JavaServer Pages
Prototype-based programming
Interpreter (computing)
Brute force attack
MathML
Befunge
YUV
Wikipedia:Free On-line Dictionary of Computing/C - D
Lexical analysis
Orthogonality
Java Virtual Machine
Associative array
Grover's algorithm