Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The purpose of having two types of records is that the (small) LCIORandomAccess can be written uncompressed. This allows it to be read quickly, and updated after it is written using the SIO random access mechanism described below. The larger LCIOIndex record can be written with compression turned on since it never needs to be updated once it is written.
  • The reason for having multiple LCIOIndex records in a file is to prevent the problem of having to store a potentially infinitely large index blocks in memory. By storing something like 10-100k records per index block performance to access records is still good, without huge memory usage even for very large (chains) of files. This also makes the task of appending to an existing files much easier.