maebert/jrnl — pull request #219 by matze (2014-06-27 15:52:54+00:00)
Title: Optimize startup time

The time to run jrnl is noticeable and clocks in at almost 300ms on my machine (using `time jrnl --help`, so almost no real I/O). This is mainly due to the imports of the keyring and crypto modules. With this PR, that refactors the `Journal` class and defers keyring imports, I can run jrnl in about 160ms.

A positive side effect (at least from my point of view) is the slightly cleaner separation between the in-memory journal model and the storage mechanisms. But YMMV.