Typed Stream Format

The Typed Stream Format, or TSF for short, is a simple yet powerful 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 an optional interface to Berkeley DB.

TSF is designed to provide high performance. 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 data. For example, TSF employs region memory allocation, threaded interpretation, and optionally an optimizing C compiler to effectively deal with data that consists of deeply nested structures, variable-length arrays, and polymorphic types.

TSF is designed to be easy to adopt yet robust enough to become fully integrated into your project. For starters, you can use TSF's code generator to build the types you need and then use one of the high-level interfaces to create and read files. If you desire more power, you can interface to TSF's type system directly to generate types on the fly. You can also forego the high-level file abstractions and use TSF on any device that can reliably save and restore 8-bit bytes. This is possible thanks to TSF's light-weight and highly modular I/O toolkit.

Hence, if you require a data format that is fast, easy to adopt, and robust enough to grow with you, TSF is probably the right choice for you.

Supported Platforms

Operating systems known to work:

Compilers known to work: Hardware platforms known to work:

License

The Typed Stream Format library is covered by the GNU General Public License, version 2.

Download

The latest version is 0.2.0-beta1, and is available here:


Back to Filip Pizlo's Homepage