1. A method comprising: providing a computing system that comprises one or more processing units and a memory; executing, by the computing system, a builder thread that modifies a document by modifying an active representation of the document, the active representation of the document stored in the memory; and executing, by the computing system, a reader thread concurrently with the builder thread, the reader thread performing an operation regarding the document using a non-active representation of the document, the non-active representation of the document stored in the memory, the active representation of the document and the non-active representation of the document not including different copies in the memory of the same data, wherein when reading data in the non-active representation of the document, logical consistency is ensured without locking any data in the non-active representation of the document.