anchor.diff:  === Append only data structure
   
   CQ is design for sequential writes and reads.  It also supports random access and updates in place although you cannot change the size of an existing entry. You can pad an entry for future use.
  -This append only structure is more efficient for passing data between threads via the CPU L2 cache coherence bus and it can be faster than attempting to pass an object between threads as it avoid random access which can be common in Java objects where there can be a lof of reference chasing.
  -
  -It is also more efficient for persistence to disk as HDD and SSD are much efficient when accessed sequentially.  The append only structure makes replication much simpler as well.
  +This append only structure is more efficient for passing data between threads via the CPU L2 cache coherence bus
  +and it can be faster than attempting to pass an object between threads as it avoid random access which can be
  +common in Java objects where there can be a lot of reference chasing.
  +
  +It is also more efficient for persistence to disk as HDD and SSD are much more efficient when accessed sequentially.
  +The append only structure makes replication much simpler as well.
   
   === Unbounded memory mapped files
   
  
positive.code: You might be wondering, how is this possible given that well written C is usually faster than Java.
  
  You need a degree of protection between your application and your data storage to minimise the risk of corruption.
  As Java uses a JVM, it already has an abstraction layer and a degree of protection,a dn if an appication throws an exception this doesn't mean the data structure is corrupted.
  To get a degree of isolation in C, many data storage solutions use TCP.
  The overhead of using TCP, even over loopback can exceed the benefit of using C,
  and the throughput/latencies of CQ can be 10x greater by being able to use the data in process.
  CQ supports sharing of the data structure in memory for multiple JVMs avoiding the need to use TCP to shared data.
  
  === What does the data structure look like?
  
  One of our key objective is transparency, and we have worked hard to make sure you can see exactly what has been written to this data structure.
  
  We use YAML as this is a format which is design to be readable.
  JSON and XML we see as a subset of Javascript and SGML, and not as readable. We support JSON for messaging with browsers.
  For performance reasons we use a binary form of YAML, which can be automatically translated to YAML for viewing.
  
  
negative.code: 
  The main disadvantage is that this assumes disk space is cheap.  If you look at retail prices for Enteprise grade disks you can get TBs of disk for a few hundred dollars.
  Many Investment Banks, don't take this approach and internal charge rates for managed storage can be orders of magnitude higher.
  I have worked on systems that have more free memory than free disk space.
  
  == What technology does Chronicle Queue using?
  
  