Serialization and Persistent Objects

Turning Data Structures into Efficient Databases

  • Jiri Soukup
  • Petr Macháček

Table of contents

  1. Front Matter
    Pages i-xviii
  2. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 1-35
  3. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 37-107
  4. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 109-161
  5. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 163-174
  6. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 175-199
  7. Jiri Soukup, Raj Lokanath, Martin Soukup
    Pages 201-222
  8. Jiri Soukup, Petr Macháček
    Pages 223-244
  9. Jiri Soukup, Martin Soukup
    Pages 245-250
  10. Jiri Soukup, Petr Macháček
    Pages 251-255
  11. Back Matter
    Pages 257-263

About this book


Recently, the pressure for fast processing and efficient storage of large data with complex relations increased beyond the capability of traditional databases. Typical examples include iPhone applications, computer aided design – both electrical and mechanical, biochemistry applications, and incremental compilers. Serialization, which is sometimes used in such situations is notoriously tedious and error prone.

In this book, Jiri Soukup and Petr Macháček show in detail how to write programs which store their internal data automatically and transparently to disk. Together with special data structure libraries which treat relations among objects as first-class entities, and with a UML class-diagram generator, the core application code is much simplified. The benchmark chapter shows a typical example where persistent data is faster by the order of magnitude than with a traditional database, in both traversing and accessing the data.

The authors explore and exploit advanced features of object-oriented languages in a depth hardly seen in print before. Yet, you as a reader need only a basic knowledge of C++, Java, C#, or Objective C. These languages are quite similar with respect to persistency, and the authors explain their differences where necessary.

The book targets professional programmers working on any industry applications, it teaches you how to design your own persistent data or how to use the existing packages efficiently. Researchers in areas like language design, compiler construction, performance evaluation, and no-SQL applications will find a wealth of novel ideas and valuable implementation tips. Under, you will find a blog and other information, including a downloadable zip file with the sources of all the listings that are longer than just a few lines – ready to compile and run.                                                   


C# C++ Data Archiving Data Serialization Flash Memory In-memory Database Java Light-Weight Databases Memory Management Object-Oriented Programming Objective-C Persistency Persistent Data Structures

Authors and affiliations

  • Jiri Soukup
    • 1
  • Petr Macháček
    • 2
  1. 1.Code Farms Inc.RichmondCanada
  2. 2.Image CodeBrlohCzech Republic

Bibliographic information