Typed Stream Format

The Typed Stream Format, or TSF for short, is a simple format and library for dealing with structured data. TSF consists of a type system, an I/O toolkit, a primary marshalling system based on dynamic code generation, a secondary marshalling system intended for introspection, and a basic key-value store with client-server support.

TSF is designed to provide high performance for large data sets. TSF will display competetive performance even when compared to a hand-tuned raw format. Of special consideration is the fact that TSF is specifically designed to perform well on complex hierarchical data. For example, TSF employs region memory allocation and threaded interpretation to effectively deal with data that consists of deeply nested structures, variable-length arrays, and polymorphic types.

TSF's API focuses on the common case of reading and writing files that consist of sequences of data, but also exposes enough internal logic to allow clients to do other things - like using TSF as a binary protocol for communicating over a network or as a building block for object databases.


TSF uses the two-clause BSD license.

Supported Platforms

Operating systems known to work:

Compilers known to work: Hardware platforms known to work:


The latest version is 1.1.0, and is available here:

Past versions:

Back to Filip Pizlo's Homepage