AEM 6 ships with a new repository, CRX3 which is based on Apache Oak, a subproject of the Apache Jackrabbit project. This repository promises significant performance increases over CRX2, however it does require a bit more work to setup. Unlike CRX2, CRX3 requires you to explicitly declare which fields will be indexed.
Running into a null pointer exception when using a ModifiableValueMap and not sure why? This blog post pulls back the covers and offers some alternative ideas.